【问题标题】:Django, Celery, and Celery beat via Copilot. Use Sidecars or multiple services?Django、Celery 和 Celery 通过 Copilot 击败。使用 Sidecars 或多种服务?
【发布时间】:2023-01-31 05:26:12
【问题描述】:

我能够通过 Copilot 轻松部署 Django 应用程序。但现在我需要一个 Celery worker 并击败它。 Sidecars声音喜欢我想要的。基本上,定义两个新的 sidecars:一个用于 Celery worker,另一个用于 Celery beat。但后来我遇到了Developing an application based on multiple microservices using AWS Copilot and AWS Fargate。这采用将其他 docker 容器部署为它们自己的服务的方法。

我不太清楚哪种方法最适合我的需要。 Sidecars 看起来更简单直接。我唯一不清楚如何建立它的是image(必需)参数。为什么是网址?为什么不参考 Dockerfile 来构建 worker 而另一个用于 beat?

【问题讨论】:

    标签: django amazon-web-services celery celerybeat aws-copilot


    【解决方案1】:

    更新。我决定继续使用 Sidecars。原因是 Celery 容器是使用与 Django 容器相同的 Dockerfile 构建的。换句话说,Django 容器运行的任何代码都必须与 Celery 容器中的代码相同。因此,无论何时部署 Django 容器,都必须同时部署相应的 Celery 容器。如果我要采用单独的服务方法,这将意味着所有内容都需要单独部署。这将是一个主要问题,因为这意味着 Django 和 Celery 容器之间部署的代码会有暂时的差异,这可能会产生不良行为。

    【讨论】: