码头工人用芹菜和兔子mq组成

时间:2019-06-25 09:04:53

标签: django docker-compose rabbitmq celery

我正在启动一个大型python项目,该项目将分解为多个组件,每个组件都将与不同的系统集成,并且我计划使用Celery和消息代理在每个组件之间传递任务。

>

组成如下:

  1. 与外部系统集成并发送/接收消息(不幸的是,肥皂)
  2. Ops管理消息的接口(Django网站)
  3. 从内部系统A发送/接收数据
  4. 将数据发送到内部系统B
  5. 消息传递组件,管理所有其他组件(Rabbit MQ)之间的通信

我计划使用docker-compose并将每个组件托管在其自己的容器中,并在需要时为RabbitMQ和celery-beat单独使用一个容器。

我想知道的是,在每个容器之间实际共享芹菜脚本的最佳方法是什么?

我应该将所有代码放置在所有容器上,而每个容器仅使用其所需的代码,还是只将必需的代码放置在每个容器上,并以某种方式在容器之间共享我的task.py和celery_config.py ?

在这种情况下,我也不确定如何管理版本控制,我应该在项目的根目录中使用一个.git还是为每个组件使用一个git repo?请记住,其中的两个组件非常庞大且复杂。

我的本​​能是将每个组件视为具有其自己的版本控制的单独项目...但是我不确定如何将它们与docker compose捆绑在一起并在它们之间共享我的芹菜任务。在这种情况下,有关最佳做法的任何想法将不胜感激。

0 个答案:

没有答案