我开始着手一个新项目,我们被要求将系统构建为一系列微服务,使用 RabbitMQ 作为它们之间的通信层。
在开发 REST API 时,我倾向于使用接受 HTTP header 来控制版本控制,我看到您可以使用 RabbitMQ 中的 header 交换以类似的方式路由消息。但是,由于这纯粹是一个内部消息传递系统,我不确定增加的 header 交换复杂性是否真的值得一试?
RabbitMQ 消息版本控制的典型设置是什么?在我看来,选项是:
感谢您提供的任何意见。
最佳答案
我选择路由 key 版本系统有两个主要原因:
消费者将能够通过多个绑定(bind)(当然是通过队列)绑定(bind)到他们的兼容版本。使用语义版本 (http://semver.org/) 标准将在此处通过 asterix 和散列标准加以利用。
您不必使用 Rabbitmq,因为路由键是 AMQP 的标准功能
关于rabbitmq - RabbitMQ 的典型版本控制策略是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27795520/