自适应容错 CORBA 应用管理:OGS+ 的特性与性能分析
1. OGS+ 简介
OGS+ 是 OGS(对象组服务)的扩展,OGS 是基于服务方法的 CORBA 组通信服务,仅使用 CORBA 标准化结构来创建和维护 CORBA 对象组。OGS+ 用 Java 实现,基于 OGS 0.8b1 版本,使用 VisiBroker 4.0 CORBA ORB。
OGS 主要由四个组件构成:
- 组服务 :管理对象组,支持组内成员的状态同步,并能向对象组发送不同顺序和可靠性的多播调用。
- 共识服务 :解决 OGS 中与共识相关的问题,如组成员关系和消息的全序排序。
- 监控服务 :检测崩溃对象并传播故障事件通知。
- 消息服务 :支持具有不同可靠性、顺序和同步保证的多播通信。
在服务器端,OGS 通过组管理员对象管理对象组,每个组管理员对象与组内的一个应用对象副本关联。它们相互交互以执行共识和投票协议,实现主动复制风格。从应用对象的角度看,每个组管理员对象负责向其关联的组成员传递多播消息并通知组视图更改。
在客户端,OGS 提供组访问器对象(代理),使客户端无需了解副本数量和位置,就能调用对象副本的方法,并指定所需的回复数量。组访问器负责向组管理员对象发送多播并等待回复。
然而,主动复制在维护副本状态同步时,消息复杂度高,与副本数量成正比,处理方法调用时会导致显著延迟,因为所有组成员必须就请求的处理顺序达成一致。