我想要一个关于我的评估和关注是否正确的反馈.
我现在已经研究了三个数据分发服务,AMQP和ZeroMQ,用于在数据中心中构建数据传输层.这三个看起来很有希望,但我遇到了一些阻塞问题.
为了给出一个背景,我的要求是:
- 扩展到500多个物理节点,1000多个发布者和订阅者.
- 支持持久的消息传递,以照顾失败的订阅者.
- 聚合吞吐量应该是1百万条消息/秒以上
AMQP的问题:
- Broker体系结构似乎是整个部署设置中的瓶颈和中心故障点.我可以通过放置联合和群集来提高我的部署,以提高待处理消息的性能和可用性,但它们似乎仍然不具备防故障性.
- 持久队列的性能似乎非常低.我的示例应用程序只能为6-7K消息/核心/队列/应用程序提供时钟.
ZeroMQ的问题:
- 文档似乎有点想深入.
- 系统对待处理消息的行为似乎在PUB/SUB通信模型中引起麻烦.请参考:zeromq如何使用PUB/SUB模式处理慢速消费者
OpenSplice DDS:除了业内采用之外,我没有发现DDS协议中缺少的任何东西.希望在稳定性,性能或限制方面了解该产品的第一手资料.