【发布时间】:2021-11-26 10:23:10
【问题描述】:
我目前正在为我的项目开发微服务架构,我的所有服务 app1、app2、... 都使用 celery 和 celery beat。
是否可以将我的所有应用程序链接到一个 celery 实例?如果是的话,你能给我一个 docker-compose 的例子吗?或者我应该为我项目中的每个应用或服务创建一个 celery 实例?
【问题讨论】:
-
据我们所知,每个服务都有自己的 celery 实例。因为当您可能将任务从不同的服务发送到同一个队列时,这将是不安全的,这些服务将由错误的工作人员处理。如果这是一个宠物项目,我们正在使用 Camunda/Zeebe 云微服务编排器/工作流引擎,它非常酷:D,也许这是您想要的解决方案。
-
谢谢,所以我应该为每个服务创建它的 celery worker,没有任何工具可以同时处理多个 celery 实例吗?我也看看这些技术
-
为了管理多个 celery 实例,我发现了另一个堆栈溢出线程 stackoverflow.com/questions/58747174/… 不幸的是我没有这方面的经验,我会说是的,你必须有多个 celery 实例
-
我相信是这样,每个实例都在管理一个应用程序的任务,您还需要指定自己的队列以避免冲突。另一种解决方案是制作具有多个队列的混合工作人员,无论如何谢谢
标签: python docker-compose celery microservices