DDS 有经纪人吗?

use*_*904 4 data-distribution-service

我一直在尝试阅读 DDS 标准,尤其是 OpenSplice,但我对架构感到疑惑。

DDS 是否需要运行代理或任何特定的守护程序来管理不同方之间的消息交换和协调?如果我只是启动一个进程发布某个主题的数据,然后启动另一个订阅同一主题的进程,这是否足够?是否有任何理由可能需要运行另一个进程?

或者,它是否使用 UDP 多播在发布者和订阅者之间进行某种自动发现?

总的来说,我试图将其与传统的队列架构(如 MQ 系列或 EMS)进行对比。

如果有人可以帮助阐明这一点,我将不胜感激。

谢谢,

法赫姆

Joh*_*sen 5

DDS 没有中央代理,它使用基于多播的发现协议。OpenSplice 有一个为每个节点提供服务的模型,但这是一个实现细节,如果您检查例如 RTI DDS,他们没有。

  • 对于中央代理,我的意思是有一个中央进程来管理系统中的所有内容,如果该进程崩溃,那么没有人可以找到彼此。对于 DDS,情况并非如此,它是完全分布式的。 (2认同)