我应该有多个rabbitmq经纪人来负载均衡工作吗?

时间:2014-10-03 01:24:39

标签: rabbitmq celery django-celery

我的应用程序旋转了大量安装了芹菜和rabbitmq的EC2机器。目前,我所有的机器都充当工人,除了一台机器只作为rabbitmq经纪人。我所有机器的celeryconfig文件基本上都指向一个rabbitmq代理。

我已在我的配置上启用了群集和HA队列,并且我指定了一定数量的计算机来镜像磁盘中的队列。我的问题是:我应该指定多个rabbitmq代理而不是一个吗?假设我指定了两台经纪人机器 - 那么我的一半芹菜工人会指向一个经纪人,而另一半会指向另一个经纪人。

我宁愿不指定多个经纪人,除非有一个经纪人因为一个经纪人过度工作而导致瓶颈(这是否可能)?

编辑:我启用群集的原因是指定另一台机器作为代理,以防主要机器发生故障。

1 个答案:

答案 0 :(得分:1)

我认为这取决于以下注意事项

  • 吞吐量和热点?队列上发布/消费的消息太多了?或工人超载?
  • MQ节点上的高可用性和负载平衡? tcp负载均衡器可以作为HA,负载均衡器和节点号可以在此时更改而不是所有MQ客户端,这样当一个MQ节点关闭时,所有工作者都不会丢失连接。