我正在计划一个消息传递框架,我想使用AMQP产品(RabbitMQ,OpenMQ,Apache Qpid ......等),但在搜索时我发现很难做出决定。 网络的条件如下:
在阅读有关AMQP产品时,它们如何处理联合中的无限循环消息并不是那么清楚。
openAMQ在此处声明了一个完全连接的拓扑示例(如链接中的最后一个图所示): http://www.openamq.org/tutorial:broker-federation
在openAMQ的另一个文档中出现以下声明:
http://www.openamq.org/doc:user-3-advanced#toc61
“当发布者和订阅者都在子服务器上时,联合发布 - 订阅会创建额外的跃点。在这种情况下,消息首先发送到父服务器,根服务器,然后从那里返回到需要它们的所有子服务器。这就是我们避免多次传递相同消息的方式。但是它会产生额外的延迟。我们通常会将重要的发布者放在根父服务器上。“
第一个示例导致消息重复,但第二个文档将此作为树拓扑中的限制(我理解)!
现在.. openAMQ是否支持完全连接的网络而不会导致循环消息?你不能向我推荐一款没有的产品吗?
答案 0 :(得分:0)
Qpid将允许使用某些联合拓扑进行重复的消息传递。它不会进入无限循环。您可以缓解此问题,但只需在路线图上进行一次交付即可。