0

我正在计划一个消息传递框架,我想使用 AMQP 产品(RabbitMQ、OpenMQ、Apache Qpid 等),但在搜索时我发现很难决定。网络条件如下:

  1. 拓扑:全连接(或全连接)
  2. 服务器数量:4
  3. 消息类型:主题消息 - 发布/订阅

在阅读 AMQP 产品时,并不清楚它们如何处理联合中的无限循环消息。

  • Qpid:明确指出 ad-hoc 连接会导致问题。
  • RabbitMQ:不太清楚如何使用联邦。
  • openAMQ:我觉得这会解决我的问题,但仍然不确定,我的问题来了!

openAMQ 在这里陈述了一个全连接拓扑示例(如链接中的最后一张图所示): http ://www.openamq.org/tutorial:broker-federation

在 openAMQ 的另一个文档中,出现了以下语句:

http://www.openamq.org/doc:user-3-advanced#toc61

“当发布者和订阅者都在子服务器上时,联合发布-订阅会创建额外的跃点。在这种情况下,消息首先发送到父服务器、根服务器,然后从那里返回到所有需要它们的子服务器。这就是如何“我们避免多次传递相同的消息。但是它会产生额外的延迟。我们通常会将重要的发布者放在根父服务器上。”

第一个示例导致消息重复,但第二个文档将此视为树拓扑中的限制(正如我所理解的那样)!

现在.. openAMQ 是否支持完全连接的网络而不会导致消息循环?你能不能给我推荐一个没有的产品?

4

1 回答 1

0

Qpid 将允许使用某些联合拓扑进行重复消息传递。它不会进入无限循环。您可以缓解这种情况,但只有一次交付是在路线图上。

于 2011-07-29T14:04:07.080 回答