【问题标题】:Queue federation with different queue types in RabbitMQRabbitMQ 中不同队列类型的队列联合
【发布时间】:2022-02-16 03:03:21
【问题描述】:
我想使用queue federation 将消息从旧集群迁移到新集群。本质上,集群是相同的,因为它们具有相同的交换和队列,但是在旧集群中,队列的类型为 classic,而在新集群中,队列的类型为 quorum。
我已经在 2 个集群之间建立了联合,但它仅在队列都属于同一类型时才有效。有没有办法可以覆盖联合上游或联合策略中的队列类型,以便在这种情况下使用队列联合?
【问题讨论】:
标签:
rabbitmq
federation
quorum
queue-federation
【解决方案1】:
问题似乎是正在使用的 RabbitMQ 版本仅支持classic -> classic 队列联合。
支持来自version 3.8.13quorum -> quorum的队列联合:
联盟插件
增强功能
现在可以联合仲裁队列。
支持来自version 3.8.18classic -> quorum的队列联合:
联盟插件
错误修复
队列联合现在将声明队列
仅当它尚不存在时才在上游端。这使它
可以联合不同类型的预先声明的队列。
请注意,此类设置应被视为边缘情况。队列
联合从来都不是为了联合不同类型的队列
在不同的集群中使用相同的名称。这样的设置可能很有用
在蓝/绿部署升级方案中,否则应
避免。