OpenDDS联合存储库:容错与数据交换

需积分: 35 28 下载量 149 浏览量 更新于2024-08-07 收藏 2.45MB PDF 举报
"存储库联合-最新实用金属材料手册(完整版)" 是关于OpenDDS(Open Data Distribution Service)的文档,重点讲述了DCPS信息库的选项和存储库联合功能,适用于OpenDDS版本3.12。这个手册由ObjectComputing,Inc.(OCI)支持,提供了OpenDDS开发者指南。 在DCPS(Data Distribution Service)中,`DCPSInfoRepo`是一个重要的组件,用于存储服务元数据。使用`-ORBListenEndpoints iiop://:<port>`命令行选项,可以设置固定的TCP端口号,使得客户端在DCPSInfoRepo重启后能重新连接。`PersistenceUpdater_Static_Service`允许将DCPSInfoRepo的信息更新保存到本地文件`info.pr`,并可以通过`-reset 1`参数恢复到先前的状态。 存储库联合是一个实验性特性,它允许多个DCPS信息存储库服务器协同工作,形成一个联合服务。这样,即使原始存储库不可用,应用程序也能从其他存储库获取服务元数据和事件,增强了系统的容错能力。例如,这在分布式系统中特别有用,当不同平台的DDS服务因网络隔离而无法直接通信时,存储库联合能帮助它们在后期互相传递数据。 OpenDDS目前的联合功能需要在启动时静态配置,未来计划支持动态发现和加入联盟。当检测到存储库丢失时,OpenDDS利用LIVELINESS服务质量策略自动触发故障转移,使应用程序与新的存储库服务器关联。为此,内置主题`ParticipantDataDataReaderListener`用于监控存储库的健康状况,因此,不应为该主题安装自定义监听器,以免干扰故障检测机制。 手册还涵盖了OpenDDS的基本概念,如服务质量(QoS)策略,包括LIVELINESS、可靠性、历史、耐用性等。此外,还介绍了如何定义数据类型、创建发布者和订阅者、使用监听器以及处理数据读取的优化方法,如零拷贝读取。最后,详细讨论了各种QoS策略的含义和使用,以及条件和监听器在OpenDDS通信中的作用。 这份文档为OpenDDS开发者提供了全面的指导,帮助他们理解和利用存储库联合以及DCPS的各种高级特性来构建可靠的分布式系统。