系列文章是博主对沈剑的《架构师训练营》分享内容的个人笔记总结,原内容公众号“成为架构师”。
之前在数据库章节有提到过数据库的平滑迁移,比如追日志、双写等策略,对于MQ,作为消息中间件,也是某种数据存储设施,也存在升级需求,比如要讲ActiveMQ换成RabbitMQ,也就同样需要平滑迁移的方案。
MQ架构回顾
一个简单的MQ架构主要由三部分组成,消息发送方的MQ客户端,MQ服务端(可以是集群),消息接收方的MQ客户端。
那么要实现平滑迁移,替换MQ供应商,我们就需要替换掉至少三个部分,发送发的MQ Client,MQ Server,接收方的MQ Client.
平滑迁移方案
迁移目标:不停服,平滑迁移。
如果按照主题来进行迁移,通常有三个步骤:
1 消费方双向订阅
假设我们的迁移目标是将全部的粉色MQ组件替换为蓝色,即发布、服务、订阅都要变成新的MQ组件。
第一步就是消费方的双向订阅,新增