DDS与AMQP对比ZeroMQ

Kis*_*lay 13 amqp zeromq data-distribution-service

我想要一个关于我的评估和关注是否正确的反馈.

我现在已经研究了三个数据分发服务,AMQP和ZeroMQ,用于在数据中心中构建数据传输层.这三个看起来很有希望,但我遇到了一些阻塞问题.

为了给出一个背景,我的要求是:

  1. 扩展到500多个物理节点,1000多个发布者和订阅者.
  2. 支持持久的消息传递,以照顾失败的订阅者.
  3. 聚合吞吐量应该是1百万条消息/秒以上

AMQP的问题:

  1. Broker体系结构似乎是整个部署设置中的瓶颈和中心故障点.我可以通过放置联合和群集来提高我的部署,以提高待处理消息的性能和可用性,但它们似乎仍然不具备防故障性.
  2. 持久队列的性能似乎非常低.我的示例应用程序只能为6-7K消息/核心/队列/应用程序提供时钟.

ZeroMQ的问题:

  1. 文档似乎有点想深入.
  2. 系统对待处理消息的行为似乎在PUB/SUB通信模型中引起麻烦.请参考:zeromq如何使用PUB/SUB模式处理慢速消费者

OpenSplice DDS:除了业内采用之外,我没有发现DDS协议中缺少的任何东西.希望在稳定性,性能或限制方面了解该产品的第一手资料.

小智 14

我对您对OpenSplice DDS采用的担忧感到惊讶.OpenSplice DDS目前部署在多个任务和业务关键系统上,如海军作战管理系统,军用车辆,空中交通管制和管理,地铁,以及高频自动交易.为了给您提供另外一些信息,让您放心使用该技术,EUROAE建议OMG DDS标准(OpenSplice DDS实施的标准)在泛欧中心之间交换飞行数据计划.

如果您对采用或技术有任何进一步的问题,请告诉我.

-AC

  • 是的,我一直在看OpenSplice的代码,这太可怕了.此外,API是一个很大的混乱,它是复杂的设置方式.OpenSplice是由那些对软件设计原则一无所知的人编写的.许多公司可能会采用它,因为它有效,但如果你想要发展到未来,它肯定不是可行的方法. (2认同)