分布式对象架构:CORBA 与系统设计要点
1. CORBA 与分布式对象通信
CORBA 作为 ORB 的一部分,为与分布式对象进行真正的异步通信提供了标准接口。客户端在调用分布式对象的方法时无需阻塞,即使客户端不再活跃,也能确保消息的传递。当客户端断开网络连接后重新建立连接时,还能接收消息。此外,消息可以被赋予优先级,服务器能够根据预定的方案处理这些消息。
2. 系统管理的挑战与需求
目前,ORB 在生产系统管理方面严重不足,OMG 尚未指定管理分布式对象系统的机制,相关解决方案大多是自行开发的。ORB 需要具备事务处理监视器提供的功能,如负载均衡(在多个系统间分配服务器负载,同时对客户端呈现为单个系统)和容错(当服务器出现故障时,将消息透明地路由到新服务器)。市场上已经出现了具备这些功能的 ORB,例如 BEA 等 TP 监视器供应商推出的产品。同时,我们还需要能够监控系统中的分布式对象、管理这些进程(关闭和对象迁移)以及与网络管理工具进行交互的服务。
3. 面向服务的架构
由于分布式对象是通过其接口(IDL)来定义的,因此每个分布式对象都可以被视为提供了一项服务。OMA 定义了四类服务,包括基础 CORBA 服务(如命名、安全等)以及横向和纵向设施。此外,还有我们开发的应用程序所定义的服务。将所创建的分布式对象定义为服务,能够产生一组可重用的组件。设计分布式对象系统时,将其设计为一组协作的服务是个不错的选择,但这并不意味着要回到类似远程过程调用的模型,我们仍然采用分布式对象模型。不过,我们需要认识到所使用技术(包括网络和 ORB 基础设施)的局限性和能力。IDL 接口的粒度会影响系统的性能,接口越细粒度,网络开销就越大。尽管
超级会员免费看
订阅专栏 解锁全文
2183

被折叠的 条评论
为什么被折叠?



