django-celene在多服务器生产环境中



我试图使用django部署一个django项目,但我有以下问题没有解决:

  • 我应该为每个web服务器运行一个celeryd吗
  • 我应该只运行一台RabbitMQ服务器吗?在另一台运行celeryd的机器上(而不是),我的所有web服务器都可以访问它吗?或者RabbitMQ也必须在每个web服务器上运行
  • 如果所有web服务器的代码都相同,我如何使用定期任务

谢谢你的回答。

这实际上取决于项目的规模,理想情况下,您有RabbitMq、芹菜工人和网络工人在不同的机器上运行。

您只需要一个RabbitMQ,最终需要多个队列工作者(当然,更大的队列需要更多的工作者)。

每个网络工作者不需要1个芹菜工作者,网络工作者将向broker发布任务,然后工作者将从那里获得任务,事实上,网络工作者并不关心连接到broker的工作者数量,因为它只与broker通信。

当然,如果你正在启动一个项目,那么把所有东西都放在同一个硬件上,保持低预算,等待流量和资金的流动是有意义的:)

你希望在你的应用程序的每个运行实例上都有相同的代码,无论它们是芹菜工人/网络服务器还是其他什么。

相关内容

  • 没有找到相关文章

最新更新