AMQP完全连接的代理联合,没有循环消息

时间:2011-07-29 12:52:17

标签: amqp publish-subscribe messagebroker

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

  1. 拓扑:完全连接(或完全连接)
  2. 服务器数量:4
  3. 消息类型:主题消息 - 发布/订阅
  4. 在阅读有关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是否支持完全连接的网络而不会导致循环消息?你不能向我推荐一款没有的产品吗?

1 个答案:

答案 0 :(得分:0)

Qpid将允许使用某些联合拓扑进行重复的消息传递。它不会进入无限循环。您可以缓解此问题,但只需在路线图上进行一次交付即可。