rabbitMQ群集VS联盟VS铲

时间:2014-05-09 13:42:13

标签: rabbitmq load-balancing federation

我正在设置类似" rabbitMQ cluster"在不同位置的机器上,这对RabbitMQ群集来说并不好(因为它需要在一个位置使用机器);

所以我在看RabbitMQ Federation,但是它是一个定向的节点网络,如果第一个节点关闭,是否可以自动继续写入下一个节点?

我的目标是,即使某些节点关闭,日志/数据仍然流通,机器位于不同位置

( 我们可以使用rabbitMQ Federation,让它朝两个方向发展吗? 例如,我们有node1和node2,set node1是node2的上游和下游,node2也是node1的上游和下游。所以这就像一个集群,但可以与不同位置的机器一起使用 )

1 个答案:

答案 0 :(得分:3)

  

如果第一个节点关闭,它是否可以自动继续写入下一个节点?

您可以配置DNS或负载均衡器,并配置规则以重定向流量。 例如,如果配置负载均衡器,则可以使用其IP配置上游IP,这样就可以添加或删除所需的所有节点。

  

我们可以使用rabbitMQ Federation,让它朝两个方向发展吗?

是的,但正如您可以阅读here

  

你可以有一个循环消息

您可以使用max_hops=1来避免循环讯息,请阅读here了解详情

如果您只想在经纪人之间复制消息,您的架构也可以使用铲子实现。

铲斗插件支持多个经纪人连接:

[ "amqp://fred:secret@host1.domain/my_vhost"
  , "amqp://john:secret@host2.domain/my_vhost"
]

如果你能阅读here

  

如果省略主机(在通用AMQP URI中无效),则铲斗使用与运行它的代理的直接连接。这样可以避免使用网络堆栈。

我希望它有用。