2014-10-08 52 views
2

我想弄清楚HA是如何工作的。 (高可用性队列)多代理机器rabbitmq配置,HA如何工作?

我现在的配置是:每台机器都有多个芹菜工,并指向自己作为经纪人。由于HA,每台机器可以做到这一点,而不是指向一台经纪人机器;通过这种方式,任何一台机器上的负载较少,因为它们都是经纪商,并且具有相同队列的副本。

我的问题是,我的上述逻辑正确吗?或者是否所有工人都需要指向一个经纪人机器而不管HA?

回答

1

如果你已经看过HAclustering并确保队列相互镜像,那么你在做什么应该没问题。但是,在运行你的员工的每台服务器上运行它似乎都是低效的。

另一种选择是在HA的几台服务器上运行队列,并让其他服务器运行工作站以指向它们。但是由于芹菜工作人员配置只能指向一个经纪人网址,因此您可能需要通过使用负载平衡器来解决这个问题,所有工作人员都会指向该平衡器。这是我过去几年在RabbitMQ HA芹菜上了解到的最好结果。

+1

是的我认为如果每个服务器都有一个复制队列,它会使应用程序非常慢,但我不知道减速会有多大。芹菜工人配置只能指向一个经纪人网址的事实是我一直面临的主要挑战。我已阅读https://groups.google.com/forum/#!topic/celery-users/i87kIvHn6gg,BROKER_URL可以是经纪商列表(链接中的倒数第二个响应),但尚未成功解决它。你有这个运气吗? – jeffrey 2014-10-09 15:53:17

+0

另外,有没有办法告诉节点是否是rabbitmqctl(或其他方法)的HA节点? – jeffrey 2014-10-09 16:03:31

+0

@jeffrey,我最后一次看到那个线程,@asksol关于多个经纪人的回复并不存在。我指的是OP关于使用负载均衡器的观察结果。我还没有尝试过为BROKER_URL列出多个网址的方法。如果我能把它运行起来,我会回到这里。知道工人如何选择哪些经纪人使用会很有意思。 'rabbitmqctl cluster_status'给出集群中的节点。这是否回答你的问题如何判断节点是否是HA节点?还是你的意思是别的? – ksrini 2014-10-10 06:34:55