gpt4 book ai didi

celery - 有关将 Celery 与多个负载平衡 Django 应用程序服务器一起使用的问题

转载 作者:行者123 更新时间:2023-12-04 18:24:03 24 4
gpt4 key购买 nike

我有兴趣将 Celery 用于我正在开发的应用程序。这一切看起来都很简单,但我对如果我有多个负载平衡应用程序服务器需要做什么感到有点困惑。所有文档都假设代理将与应用程序位于同一服务器上。目前,我的所有应用程序服务器都位于 Amazon ELB 后面,任务需要能够来自其中任何一个。

这是我认为我需要做的:

  • 在单独的实例上运行代理服务器
  • 配置每个应用程序实例以连接到该代理服务器
  • 每个应用程序实例也将是一个正在运行的 celery (运行 celery )?

我唯一的不满是:如果我的代理实例挂掉了,会发生什么?我能否以某种方式运行 2 个代理实例,以便在其中一个实例崩溃时我也能安全?

任何有关如何在像我这样的设置中执行操作的提示或信息将不胜感激。我确信我遗漏了某些内容或不理解某些内容。

最佳答案

供将来引用,对于那些更喜欢坚持使用 RabbitMQ 的人...

您可以从 2 个或更多实例创建 RabbitMQ 集群。将这些实例添加到您的 ELB 并将您的 celeryd 工作人员指向 ELB。只需确保连接正确的端口即可。不要忘记允许您的 RabbitMQ 机器相互通信以运行集群。这对我在生产中非常有效。

这里有一个异常(exception):如果你需要安排任务,你需要一个 celerybeat 进程。由于某种原因,我无法将 celerybeat 连接到 ELB,而不得不将其直接连接到其中一个实例。我打开了一个关于它的问题,它应该得到解决(尚未测试)。请记住,celerybeat 本身只能存在一次,因此这已经是单点故障。

关于celery - 有关将 Celery 与多个负载平衡 Django 应用程序服务器一起使用的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10098267/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com