【发布时间】:2011-07-29 22:04:07
【问题描述】:
我正在计划一个消息传递框架,并且我考虑过使用 AMQP 产品(RabbitMQ、OpenMQ、Apache Qpid...等),但在搜索时我发现很难决定。 网络情况如下:
- 拓扑:全连接(或全连接)
- 服务器数量:4
- 消息类型:主题消息 - 发布/订阅
在阅读 AMQP 产品时,并不清楚它们如何处理联合中的无限循环消息。
- Qpid:明确指出临时连接会导致问题。
- RabbitMQ:不太清楚如何使用联合。
- openAMQ:我觉得这会解决我的问题,但仍然不确定,我的问题来了 问题!
openAMQ 在这里陈述了一个全连接拓扑示例(如链接中的最后一张图所示): http://www.openamq.org/tutorial:broker-federation
在另一个openAMQ文档中出现如下语句:
http://www.openamq.org/doc:user-3-advanced#toc61
“当发布者和订阅者都在子服务器上时,联合发布-订阅会创建额外的跃点。在这种情况下,消息首先发送到父服务器、根服务器,然后再从那里返回到所有需要它们的子服务器。这就是我们避免多次传递同一消息的方法。但是它会产生额外的延迟。我们通常会将重要的发布者放在根父服务器上。”
第一个示例导致消息重复,但第二个文档将此作为树形拓扑中的限制(据我了解)!
现在.. openAMQ 是否支持完全连接的网络而不会导致消息循环?你能不能给我推荐一个不推荐的产品?
【问题讨论】:
-
下一个 RabbitMQ 版本(应该在接下来的几周内发布)中的内容与您想要的非常相似。如果您想从开发人员那里获得一些反馈,请在 RabbitMQ 讨论 (lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss) 上发布您的问题。
标签: amqp publish-subscribe messagebroker