消息队列RocketMQ版是阿里云基于Apache RocketMQ构建的低延迟、高并发、高可用、高可靠的分布式“消息、事件、流”统一处理平台。随着Apache RocketMQ 5.0版本的发布,阿里云消息队列RocketMQ版将您提供更加稳定可靠的服务端5.x版本。本文介绍消息队列RocketMQ版服务端5.x版本和4.x版本的差异。

如何判断服务端版本

5.x版本优势

和历史服务端版本相比,消息队列RocketMQ版5.x版本具有如下优势:

架构更先进

全面采用存储和计算分离的消息架构,存储和计算可以独立按需水平扩展,满足高效弹性运维和高性能大规格能力的诉求。

开发门槛更低

主推和Apache RocketMQ完全一致的客户端SDK接入,同时兼容历史所有版本的SDK和API接口。极大降低迁移上云开发成本,只需修改接入点即可,无需考虑代码改造。

运维门槛更低

针对线上容量水位评估、业务峰谷弹性、日常灰度环境等常见困难问题提供自适应弹性、轻量测试环境版等解决方案,整体运维门槛和风险更低。

成本更弹性

通过云底座技术优化,消息收发计算能力支持预留+突发流量弹性组合,业务方无需为突发流量预留大量Buffer。消息存储按量使用付费,相比挂载云盘无法缩容的情况,具备极大的弹性优势。

售卖形态更完善

提供更完善阶梯系列,提供完整的包月和小时价售卖形态。

4.x和5.x版本差异

消息队列RocketMQ版服务端4.x版本和5.x版本的差异如下:

差异项4.x5.x
服务端架构存算一体。存储和计算分离,可独立水平扩展。
开发接入门槛
  • 同时存在多套SDK,功能接口体验不一致。
  • 强制阿里云账号鉴权,企业上云需要修改部分代码。
  • 统一使用开源SDK,功能体验一致。
  • 支持VPC内部安全识别,上云无需修改代码。
存储能力按空间预留,需要做好容量评估避免存储时长不足。根据实际使用量弹性伸缩。
计算能力超过TPS规格最大值限流。消息收发计算能力支持预留+突发流量弹性组合,业务方无需为突发流量预留大量Buffer资源。
计费项
  • 标准版实例:
    • API调用费用
    • Topic资源占用费
  • 铂金版实例:
    • 消息收发TPS峰值
    • Topic数上限
    • 消息存储空间
  • 消息收发TPS计算规格
  • 存储空间
  • 公网下行流量
售卖形态
  • 标准版
  • 铂金版
主系列
  • 标准版
  • 专业版
  • 铂金版
子系列
  • 单节点版:测试环境专用
  • 集群高可用版:生产环境专用

产品形态更丰富,产品选型更平滑。

使用限制

  • 消息队列RocketMQ版4.x版本实例依然可以继续使用,但仅支持历史3.x和4.x版本的SDK访问。
  • 消息队列RocketMQ版5.x版本兼容大部分存量TCP协议SDK,具体参数使用差异和细节约束,请参见5.x版本SDK参考概述
  • 当前暂不支持4.x版本实例原地升级为5.x版本,如需升级实例版本,建议您创建新的5.x版本实例,并分批迁移业务流量至新的5.x版本实例。

SDK兼容性约束

服务端版本和各客户端SDK版本的兼容情况如下表所示,例如,您购买了5.x版本的实例,客户端使用的是5.x对应的最新版SDK,则功能5.x版本服务端功能全部支持;若您的客户端使用4.x版本对应的SDK,则基础消息收发功能支持,部分监控指标、消息轨迹数据无法获取。
服务端版本客户端版本兼容性约束限制
5.x版本实例RocketMQ 5.x SDK兼容消息队列RocketMQ版5.x版本实例的所有功能完全支持。
RocketMQ 4.x/3.x SDK兼容消息收发功能支持,但Trace、Metrics部分指标不支持展示。
RocketMQ ONS TCP 1.x SDK
重要 5.x版本实例暂不支持使用ONS TCP 2.x版本的SDK接入。
兼容消息收发功能支持,但Trace、Metrics部分指标不支持展示。
消息队列RocketMQ版ONS HTTP SDK不兼容消息队列RocketMQ版5.x SDK默认提供轻量版HTTP协议,无需再使用早期HTTP SDK。
4.x版本实例消息队列RocketMQ版5.x SDK不兼容4.x版本实例不支持使用5.x版本对应的SDK连接访问。
RocketMQ 4.x/3.x SDK兼容消息队列RocketMQ版4.x版本实例的功能完整支持。
RocketMQ ONS TCP 1.x/2.x SDK兼容
RocketMQ ONS HTTP SDK兼容

功能行为约束

消息队列RocketMQ版5.x版本实例基于大规模企业客户的生产实践经验,对消息收发流程中的部分功能行为进行了优化调整。因此,部分场景下的参数配置、功能行为会有差异,一般情况下不影响主要消息收发链路,对于存量4.x版本升级到5.x版本,请您根据业务情况评估风险。

具体的功能行为差异如下:

功能差异项4.x版本5.x版本说明
定时消息最大定时时长40天
  • 默认24小时
  • 特殊需求,可提交工单申请延长至7天。
超长定时参数会给系统带来稳定性风险,建议定时时长不要设置过长,使用短定时模拟业务场景。更多信息,请参见定时/延时消息

如有4.x存量实例迁移,当前最大定时时长不满足要求,请您提交工单咨询。

HTTP协议支持情况支持不支持5.x版本暂不支持HTTP协议,若您的4.x存量实例使用的HTTP协议,建议暂缓升级。
RAM授权策略数据链路+管控链路支持管控链路,但授权策略和4.x版本不一致5.x版本采用更标准的ARN和策略定义,存量用户需要重新按照5.x版本权限策略进行授权才能正确使用5.x版本资源。

购买限制

  • 消息队列RocketMQ版5.x版本实例面向所有用户提供购买开通服务。
  • 消息队列RocketMQ版4.x版本实例仅支持针对存量用户开放购买,建议您尽量将实例版本升级到5.x,如有升级诉求,请提交工单咨询。

4.x版本至5.x版本升级说明

当前暂不支持使用升级工具将4.x版本实例原地升级到5.x版本。如果您需要将存量实例升级至5.x版本实例,建议您参考如下流程购买5.x版本实例,逐步将业务流量迁移至新的实例。迁移流程

业务迁移时,您可以参考以下双读双写、分批发布的方案进行操作。

迁移业务