一点背景.
非常大的单片Django应用程序.所有组件都使用相同的数据库.我们需要分离服务,以便我们可以独立升级系统的某些部分而不影响其余部分.
我们使用RabbitMQ作为Celery的经纪人.
现在我们有两个选择:
我的团队倾向于HTTP,因为这是他们熟悉的,但我认为使用RPC而不是AMQP的优势远大于它.
AMQP为我们提供了轻松添加负载平衡和高可用性以及保证消息传递的功能.
而使用HTTP我们必须创建客户端HTTP包装器以使用REST接口,我们必须放入负载平衡器并设置该基础结构以便具有HA等.
使用AMQP,我可以生成另一个服务实例,它将连接到与其他实例相同的队列以及bam,HA和负载平衡.
我对AMQP的看法是否遗漏了什么?