更新时间:2025-07-31 GMT+08:00

变更RabbitMQ实例规格

RabbitMQ实例创建成功后,您可以根据业务需要,扩容或者缩容实例,RabbitMQ实例支持的变更配置如表1表2所示。

表1 变更配置列表(RabbitMQ 3.x.x版本)

实例类型

变更配置类型

是否支持扩容

是否支持缩容

集群

代理数量

×

存储空间

×

代理规格

单机

代理数量

×

×

存储空间

×

代理规格

表2 变更配置列表(RabbitMQ AMQP-0-9-1版本)

实例类型

变更配置类型

是否支持扩容

是否支持缩容

集群

存储空间

×

实例规格

×

单机

存储空间

×

实例规格

×

变更实例规格的影响

表3 变更实例规格的影响

变更配置类型

影响

代理数量

  • 扩容代理数量过程中会重启RabbitMQ的负载均衡进程,导致节点主备倒换,造成秒级业务中断,客户端需要支持自动重连,建议在业务低峰时进行变更。
  • 变更时长和新增代理数量有关,单个代理的变更时长一般在5~10分钟,总变更时长为(5~10分钟)*新增代理数量

存储空间

  • 扩容存储空间不会影响业务
  • 扩容存储空间有次数限制,每个实例只能扩容20次
  • 可用存储空间=实际存储空间-用于存储日志的存储空间-格式化磁盘的损耗。例如,实际扩容存储空间到700GB,用于存储日志的数据的存储空间为100GB,格式化磁盘损耗7GB,那么扩容后的可用存储空间为593GB。
  • 预计总变更时长为5分钟内

代理规格/实例规格

  • RabbitMQ 3.x.x版本单机实例在变更规格过程中,节点会重启,造成分钟级业务中断,客户端需要支持自动重连,建议在业务低峰时进行变更。
  • RabbitMQ 3.x.x版本没有配置镜像/仲裁队列的集群实例在变更规格过程中,节点会逐个重启,造成分钟级业务中断,客户端需要支持自动重连,建议在业务低峰时进行变更。
  • RabbitMQ 3.x.x版本配置了镜像/仲裁队列的集群实例在变更规格过程中,节点会逐个重启,造成秒级业务中断,客户端需要支持自动重连,建议在业务低峰时进行变更。
  • RabbitMQ 3.x.x版本集群实例在变更规格过程中,变更中的节点连接会切换至其余节点,导致其余节点存在过载风险(比如超过连接数、内存高水位等),建议您在实例规格范围内使用,具体实例规格请参考产品规格
  • RabbitMQ AMQP-0-9-1版本单机实例和集群实例在变更规格过程中会有秒级连接闪断,客户端需要支持自动重连,建议在业务低峰时进行变更。
  • Exchange、Queue和消息需要配置持久化,否则节点重启后,消息可能丢失。设置持久化的方法,请参考配置RabbitMQ持久化
  • 代理采用滚动重启的方式进行实例变更,变更时长和代理数量有关,单个代理的变更时长一般在5~10分钟,总变更时长为(5~10分钟)*代理数量

以下示例演示在Java客户端设置消息重试。

ConnectionFactory connectionFactory = new ConnectionFactory();
//设置服务地址
connectionFactory.setHost("localhost");
//设定端口
connectionFactory.setPort(5672);
//自动重试:
connectionFactory.setAutomaticRecoveryEnabled(true);
connectionFactory.setNetworkRecoveryInterval(5);
connectionFactory.setTopologyRecoveryEnabled(true);  

约束与限制

  • 为了实例运行正常,变更规格过程中,请勿对实例进行其他操作。
  • 实例变更规格后,配置费用将发生变化。

前提条件

已创建RabbitMQ实例,且实例状态为“运行中”。

变更3.x.x版本RabbitMQ实例规格

以下介绍变更3.x.x版本RabbitMQ实例规格的具体步骤。

  1. 登录RabbitMQ控制台
  2. 在管理控制台左上角单击,选择RabbitMQ实例所在的区域。
  3. 通过以下任意一种方法,变更实例规格。

    • 在待变更规格的实例所在行,单击“变更规格”。
    • 单击RabbitMQ实例名称,进入实例详情页面。单击右上角的“变更规格”。

  4. 根据实际情况扩容存储空间。

    图1 扩容存储空间(RabbitMQ 3.x.x)
    1. 在“变更类型”中,选择“存储空间”,在“单个代理存储空间”中,选择扩容后的单个代理的存储空间大小。不同实例规格对应的存储空间范围不同,具体请参考产品规格,单击“下一步”。
    2. 确认扩容信息无误后,单击“提交”。
    3. 在实例列表页面,查看变更是否成功?
      • 实例状态从“变更中”变为“运行中”时,表示变更成功,在“已用/可用存储空间”中查看扩容后的存储空间大小(即扩容后的单个代理的存储空间*代理数量)。
      • 实例状态从“变更中”变为“变更失败”时,表示变更失败,把鼠标放在“变更失败”上,显示变更失败的原因。

        实例状态为“变更失败”时,无法对实例进行修改和删除等操作。等一段时间实例状态会自动从“变更失败”变为“运行中”,此时可以继续对实例进行操作。如果未变为“运行中”,请联系客服处理。

  1. 登录RabbitMQ控制台
  2. 在管理控制台左上角单击,选择RabbitMQ实例所在的区域。
  3. 通过以下任意一种方法,变更实例规格。

    • 在待变更规格的实例所在行,单击“变更规格”。
    • 单击RabbitMQ实例名称,进入实例详情页面。单击右上角的“变更规格”。

  4. 根据实际情况扩容代理数量。

    图2 扩容代理数量(RabbitMQ 3.x.x)
    1. 在“变更类型”中,选择“代理数量”,在“代理数量”中,选择扩容后的代理个数。不同实例规格对应的代理数量范围不同,具体请参考产品规格。如果已开启公网访问,在“弹性IP地址”中,选择新扩容代理的公网IP地址,单击“下一步”。
    2. 确认扩容信息无误后,单击“提交”。
    3. 在实例列表页面,查看变更是否成功?
      • 实例状态从“变更中”变为“运行中”时,表示变更成功,在“规格”中查看扩容后的代理数量。
      • 实例状态从“变更中”变为“变更失败”时,表示变更失败,把鼠标放在“变更失败”上,显示变更失败的原因。

        实例状态为“变更失败”时,无法对实例进行修改和删除等操作。等一段时间实例状态会自动从“变更失败”变为“运行中”,此时可以继续对实例进行操作。如果未变为“运行中”,请联系客服处理。

  1. 登录RabbitMQ控制台
  2. 在管理控制台左上角单击,选择RabbitMQ实例所在的区域。
  3. 通过以下任意一种方法,变更实例规格。

    • 在待变更规格的实例所在行,单击“变更规格”。
    • 单击RabbitMQ实例名称,进入实例详情页面。单击右上角的“变更规格”。

  4. 根据实际情况扩容/缩容代理规格。

    图3 扩容/缩容代理规格(RabbitMQ 3.x.x)
    1. 在“变更类型”中,选择“代理规格”,在“代理规格”中,选择扩容/缩容后的规格,单击“下一步”。
    2. 确认扩容/缩容信息无误后,单击“提交”。
    3. 在实例列表页面,查看变更是否成功?
      • 实例状态从“变更中”变为“运行中”时,表示变更成功,在“规格”中查看扩容/缩容后的代理规格。
      • 实例状态从“变更中”变为“变更失败”时,表示变更失败,把鼠标放在“变更失败”上,显示变更失败的原因。

        实例状态为“变更失败”时,无法对实例进行修改和删除等操作。等一段时间实例状态会自动从“变更失败”变为“运行中”,此时可以继续对实例进行操作。如果未变为“运行中”,请联系客服处理。

变更AMQP-0-9-1版本RabbitMQ实例规格

以下介绍变更AMQP-0-9-1版本RabbitMQ实例规格的具体步骤。

  1. 登录RabbitMQ控制台
  2. 在管理控制台左上角单击,选择RabbitMQ实例所在的区域。
  3. 通过以下任意一种方法,变更实例规格。

    • 在待变更规格的实例所在行,单击“变更规格”。
    • 单击RabbitMQ实例名称,进入实例详情页面。单击右上角的“变更规格”。

  4. 根据实际情况扩容存储空间。

    图4 扩容存储空间(RabbitMQ AMQP-0-9-1)
    1. 在“变更类型”中,选择“存储空间”,在“存储空间”中,选择扩容后实例的存储空间大小。不同实例规格对应的存储空间范围不同,具体请参考产品规格,单击“下一步”。
    2. 确认扩容信息无误后,单击“提交”。
    3. 在实例列表页面,查看变更是否成功?
      • 实例状态从“变更中”变为“运行中”时,表示变更成功,在“已用/可用存储空间”中查看扩容后的存储空间大小(即扩容后的单个代理的存储空间*代理数量)。
      • 实例状态从“变更中”变为“变更失败”时,表示变更失败,把鼠标放在“变更失败”上,显示变更失败的原因。

        实例状态为“变更失败”时,无法对实例进行修改和删除等操作。等一段时间实例状态会自动从“变更失败”变为“运行中”,此时可以继续对实例进行操作。如果未变为“运行中”,请联系客服处理。

  1. 登录RabbitMQ控制台
  2. 在管理控制台左上角单击,选择RabbitMQ实例所在的区域。
  3. 通过以下任意一种方法,变更实例规格。

    • 在待变更规格的实例所在行,单击“变更规格”。
    • 单击RabbitMQ实例名称,进入实例详情页面。单击右上角的“变更规格”。

  4. 根据实际情况扩容实例规格。

    图5 扩容实例规格(RabbitMQ AMQP-0-9-1)
    1. 在“变更类型”中,选择“实例规格”,在“实例规格”中,选择扩容后的规格,单击“下一步”。
    2. 确认扩容信息无误后,单击“提交”。
    3. 在实例列表页面,查看变更是否成功?
      • 实例状态从“变更中”变为“运行中”时,表示变更成功,在“规格”中查看扩容后的代理规格。
      • 实例状态从“变更中”变为“变更失败”时,表示变更失败,把鼠标放在“变更失败”上,显示变更失败的原因。

        实例状态为“变更失败”时,无法对实例进行修改和删除等操作。等一段时间实例状态会自动从“变更失败”变为“运行中”,此时可以继续对实例进行操作。如果未变为“运行中”,请联系客服处理。

相关文档

如果您希望通过API变更RabbitMQ实例规格,请参考新规格实例的规格变更