分布式对象架构中的分区、接口与粒度
1. 分区设计
在构建分布式系统时,合理的分区设计至关重要。可以将每个子系统视为提供一项服务,例如数据访问服务、打印设施、账户管理等。分布式系统采用基于一组协作服务的架构,每个子系统应仅包含支持该功能的分布式对象,如打印机和打印调度器。
分区会影响组成子系统的分布式对象的接口选择。需要检查子系统之间的控制流,避免出现瓶颈。可以通过分析用例,确定每个子系统在应用程序中的使用方式,进而推导出使用各个子系统的场景,以此了解系统各部分的交互情况,并在分区不平衡时进行调整。
此外,还可以根据序列图来优化分区决策。序列图能捕捉模型中对象之间的交互,是衡量执行系统任务所需通信量的良好指标。如果执行一项任务需要大量通信,就应检查用于该任务的对象,这些对象适合位于同一个子系统中。
为了让子系统的用户能够访问每个分布式对象,需要使用接口定义语言(IDL)为其定义接口。这组接口成为子系统的公共面,其定义的功能由子系统内的实现来支持。
2. 接口设计
2.1 接口概述
接口是方法和属性的集合,是分布式对象模型的表达和子系统的公共面。子系统可以包含多个分布式对象,因此可以支持多个接口。接口的结构会影响系统组件的性能和可重用性。
在开发分布式对象模型的过程中,会识别出位于网络不同部分的各个子系统,每个子系统支持一个或多个分布式对象,每个分布式对象提供一个用 IDL 表达的公共接口。
接口可以代表实体对象和过程对象。实体对象代表一个事物,如文档;过程对象提供一个过程的抽象,如文档定位器。
超级会员免费看
订阅专栏 解锁全文
172万+

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



