【发布时间】:2011-05-23 19:08:10
【问题描述】:
此时我已经阅读了许多帖子和博客,但我仍然不确定如何正确地集群我的 2 个 RabbitMQ 节点。
我已阅读 RabbitMQ 集群指南:http://www.rabbitmq.com/clustering.html
我在 API 指南中发现了一个神秘的 ClusterId,但没有说明如何首先获取该 ID:http://www.rabbitmq.com/releases/rabbitmq-dotnet-client/v2.4.1/rabbitmq-dotnet-client-2.4.1-api-guide.pdf
在那篇 StackOverflow 帖子中了解到,基本上我需要我的客户了解集群中的每个节点和故障转移场景的代码:rabbitmq HA cluster
现在...如果可能的话,我希望的行为更加透明。我可能会在客户端上使用该“ClusterId”来让消费者集群知道,然后希望库知道随机连接到任一节点以获取消息。
当然,我知道一条消息一次只能在一个服务器上,所以我希望 DotNet 客户端库中的一些循环魔术也可以处理故障转移情况。
从发布者的角度来看,我也希望交换能够循环地将消息分发到集群中的各个节点。交换也可以感知集群并优雅地处理故障转移情况。
现在根据我的阅读情况,它并不像那样工作......除非我错过了什么。 如果我的知识是最新的,并且我必须编写所有集群感知业务,那么......为什么 RabbitMQ 首先具有集群功能?它是如何使用的?
有没有一种方法可以让 RabbitMQ 产生这种行为而无需编写那么多代码?
谢谢
【问题讨论】:
-
我对 RabbitMq 集群感到困惑。我现在对 Erlang、RabbitMq 以及为什么队列没有在集群中复制以及这不会影响可伸缩性(这是我的主要目标)有了更好的理解。所有节点都知道每个队列所在的位置,并转发消息。因此,除非目标是高可用性,否则不需要复制相同的队列,而我的情况并非如此。感谢您对 Troydm 的帮助。
标签: .net cluster-computing rabbitmq