докер с сельдереем и кроликом mq - PullRequest
0 голосов
/ 25 июня 2019

Я начинаю большой проект на Python, который будет разбит на компоненты, каждый из которых будет интегрироваться с отдельной системой, и я планирую передавать задачи между каждым компонентом с помощью Celery и брокера сообщений, я думаю, RabbitMQ.

компоненты следующие:

  1. Интегрируется с внешней системой и отправляет / получает сообщения (мыло, к сожалению)
  2. Интерфейс для управления сообщениями (сайт django)
  3. Отправляет / получает данные из внутренней системы A
  4. Отправляет данные во внутреннюю систему B
  5. Компонент обмена сообщениями, управляет связью между всеми другими компонентами (Rabbit MQ)

Я планирую использовать docker-compose и размещать каждый компонент в своем собственном контейнере, а также отдельный контейнер для rabbitMQ и один для сельдерея, если это необходимо.

Что я хочу знать, так это то, чтолучший способ на самом деле поделиться сценариями сельдерея между каждым контейнером?

Должен ли я разместить весь код на всех контейнерах, с каждым Container, использующий только тот код, который ему нужен, или я должен разместить только необходимый код в каждом контейнере и каким-то образом разделить мои tasks.py и celery_config.py между контейнерами?

Я также не уверен, как управлять версиейконтроль в этом случае, должен ли я иметь один .git в корне моего проекта, или я должен иметь одно git-репо для каждого компонента?Принимая во внимание, что несколько компонентов довольно большие и сложные.

Мой инстинкт заключается в том, чтобы рассматривать каждый компонент как отдельный проект со своим собственным контролем версий ... но тогда я не уверен, как их связатьвместе с докером сочинять и делиться своими задачами с сельдереем между ними.Любые идеи о лучших практиках в этом случае будут с благодарностью.

...