Django, Celery и Celery beat через Copilot. Используете сайдкары или несколько сервисов?

Я могу легко развернуть приложение Django через Copilot. Но теперь мне нужен Celery worker и beat. Sidecars sounds похоже на то, что я хочу. По сути, определить два новых сайдкэра: один для Celery worker и другой для Celery beat. Но потом я наткнулся на Developing an application based on multiple microservices using AWS Copilot and AWS Fargate . Здесь используется подход развертывания других докер-контейнеров как собственных сервисов.

Мне не совсем ясно, какой подход лучше всего подходит для моих нужд. Sidecars кажется более простым и понятным. Единственное, что мне неясно, как с ним работать - это параметр image (обязательный). Почему URL? Почему не ссылка на Dockerfile для сборки рабочего и еще один для билда?

Обновление. Я решил продолжить использовать Sidecars. Причина в том, что контейнеры Celery собираются с тем же Dockerfile, что и контейнер Django. Другими словами, какой бы код не выполнялся в контейнере Django, он должен быть идентичен коду в контейнерах Celery. Поэтому важно, чтобы при развертывании контейнера Django соответствующие контейнеры Celery разворачивались одновременно с ним. Если бы я выбрал подход с раздельными сервисами, это означало бы, что все нужно было бы развертывать отдельно и по отдельности. Это было бы большой проблемой, потому что это означает, что будет временная разница в развернутом коде между Django и контейнерами Celery, что, вероятно, приведет к нежелательному поведению

Вернуться на верх