实例共享集群与独享集群的转换
云消息队列 RabbitMQ 版支持实例在升降配中更改部署架构,可以实现共享集群与独享集群之间的相互转化。本文将为您介绍升降配时限制条件及其可能产生的影响。
共享和独享实例
云消息队列 RabbitMQ 版各系列实例部署架构如下所示:
系列 | 共享实例 | 独享实例 |
预付费系列 | 专业版、企业版 | 铂金版 |
Serverless系列 | 共享 | 独享 |
限制条件
不同系列的实例不支持相互转换,同一系列实例内的不同规格支持平滑升降配。
对于一些创建较早的专业版实例,在升配时可能会出现错误,如遇到无法升配的情况,请提交工单进行咨询。
只有实例处于服务中状态,才能执行变配操作。
迁移过程
实例在转化中涉及到以下几个方面的迁移:
集群迁移
升配
实例从共享集群迁移到独享集群,会触发新建集群,并将其作为目标集群进行迁移。
降配
实例从独享集群迁移到共享集群,则会直接把共享集群作为目标集群进行迁移。
存储迁移
双写双读阶段:读写路由在目标集群建立,此时源集群和目标集群均可读可写。
单写双读阶段:源集群不再写入,但可以读取,此时源集群可读、目标集群可读可写。
等待源集群消费完成阶段:等待源集群消费完成。如果源集群存在堆积等待被消费或者未到期的定时消息,该阶段持续时间会比较长。
目标集群单写单读阶段:当源集群中的消息都被消费完成后,源集群也不再写入和读取,所有的发送和消费都走目标集群,此时迁移完成。
连接迁移
VPC接入点/公网接入点
共享集群迁移到独享集群
服务端不会主动进行连接迁移。实例迁移发起后,所有新建的连接都会直接连接到目标集群,但在迁移前的存量连接(源集群上已存在的连接)服务端不会主动断开。如果希望所有连接都连接到新集群,可以重启应用进行重连。
独享集群迁移回共享集群
由于独享集群需要回收,服务端会主动断开在源集群上的存量连接,在客户端配置自动重连情况下,将主动重连到目标集群,完成连接迁移。
终端接入点(PrivateLink)
所有使用终端接入点的连接在实例迁移阶段会出现分钟级别的断连。
迁移影响
独享集群迁移回共享集群时,连接会主动断开。建议应用在业务低峰期进行迁移,同时做好重连机制。有关重连配置,请参见客户端配置自动重连。
对于使用VPC接入点/公网接入点的连接,在共享集群迁移到独享集群时,存量连接迁移会在应用重启或者服务端重启(比如源集群升级场景)后重连到目标集群,此时源集群的升级等行为可能会使得连接非预期的断开,如需完全切换到目标集群,建议低峰期自行重启应用完成重连。
对于使用终端接入点(PrivateLink)的连接,在实例迁移阶段会出现分钟级别的断连,建议应用在业务低峰期进行迁移,同时做好重连机制。
如果源集群中存在待消费的堆积消息或未到期的定时消息,存储迁移阶段的持续时间将会较长。