【发布时间】:2014-10-03 01:24:38
【问题描述】:
我的应用程序启动了大量安装了 celery 和 rabbitmq 的 EC2 机器。目前我的所有机器都充当工人,除了一台机器单独充当rabbitmq经纪人。我所有机器的 celeryconfig 文件基本上都指向那个 rabbitmq 代理。
我在我的配置中启用了集群和 HA 队列,并且我指定了一定数量的机器来镜像磁盘中的队列。我的问题是:我应该指定多个rabbitmq 代理而不是一个吗?假设我指定了两台代理机器——然后我的 celery 工作人员的一半将指向一个代理,另一半将指向另一个。
我不想指定多个代理,除非只有一个代理会在一个代理过度工作时导致瓶颈(这可能吗)?
编辑:我启用集群的原因是指定另一台机器作为代理,以防主机器出现故障。
【问题讨论】:
-
当前配置是否存在性能问题?
-
目前没有,但我还没有投入生产,我处于测试阶段。我想知道将来是否可能会出现问题,因为我现在正在设计架构,而实现多代理架构需要对我的应用程序的很多部分进行重组。
-
所以更新:我遇到了兔子节点因负载过大而下降的问题。
-
我没有在 RabbitMQ 中使用过这些功能,但我怀疑它是基于 Erlang 构建的,这使得它在某种程度上是内置的。我必须先尝试一下,然后才能对它提出建议。
标签: rabbitmq celery django-celery