OpenDDS在提供DCPSInfoRepo集中发现服务的基础上,又提供了集中发现服务DCPSInfoRepo的联邦功能,实际上就是集群功能。
联邦Federation间的通信主题,用于Federation联邦节点间DDS对象的资源库一致性迁移,包括
1)OwnerUpdate;
2)TopicUpdate;
3)ParticipantUpdate;
4)PublicationUpdate;
5)SubscriptionUpdate;
但联邦Federation功能一直以来,作为一个实验项目存在,功能的完备性、可用性距离真正的集群功能还存在着较大差距,如果你想实现OpenDDS的发现服务的集群化:
1)根据DCPSInfoRepo联邦的基础上,进行完善、改造和定制,让它往集群化服务的方向继续前进;
2)基于自己的业务需要,结合市面上的集群组件、注册发现的机制,进行个性化定制;
例如,可以参考redis、kafka数据库的集群功能,对DDS主题资源进行集群化存储和使用;也可以参照zookeeper、nacos等注册发现服务机制,进行个性化、业务化定制。
个性化定制方面,无外乎
1)主题资源的存储,即注册机制;
2)pub方和sub方主题的匹配,即发现机制;
3)注册发现服务中心和pub方和sub方的双向探活机制;
在此抛砖引玉,期待后续能进行深入的探讨和实现,待续。