下载 5.5.0 版本
- 源码: rocketmq-all-5.5.0-source-release.zip [PGP] [SHA512]
- 二进制包: rocketmq-all-5.5.0-bin-release.zip [PGP] [SHA512] ::
以下是 RocketMQ 5.5.0 版本中所解决问题的摘要。有关该版本的完整文档及入门指南,请参考 快速开始 (Quick Start)。
此版本引入了专为 AI 场景设计的轻量级订阅机制 Lite Mode,并对 Broker、Proxy 和客户端组件进行了多项增强。
新特性 (Lite Mode)
引入了一种轻量级订阅模式 (Lite Mode),该模式以更低的资源消耗提供了更高效的消息传递。此模式提供完整的生命周期管理、事件分派、订阅注册、消息处理和指标监控。通过新增的 Lite 消息处理器、长轮询服务、控制处理器及相应的协议支持,它为 AI 场景量身打造了一套高效的轻量级消息订阅机制。
- [RIP-83]Lite Topic: 一种新的消息模型,由 @f1amingo 贡献于 https://github.com/apache/rocketmq/pull/9800
更新内容
- [ISSUE #9780]当 Topic 没有消息队列时跳过不必要的 RPC,由 @yx9o 贡献于 https://github.com/apache/rocketmq/pull/9781
- [ISSUE #9964]将 intConfig 方法重命名为 initConfig,由 @yx9o 贡献于 https://github.com/apache/rocketmq/pull/9965
- [ISSUE #9962]修复 Proxy 配置中 fastjson2 解析 metricsExporterType 失败的问题,由 @yuz10 贡献于 https://github.com/apache/rocketmq/pull/9963
- [ISSUE #9976]更新 NOTICE 文件中的版权年份至 2026 年,由 @mxsm 贡献于 https://github.com/apache/rocketmq/pull/9977
- [ISSUE #9980]在 Pop 中当消费组不存在时跳过无效记录,由 @lizhimins 贡献于 https://github.com/apache/rocketmq/pull/9981
- [ISSUE #9970]重构 MessageQueueSelector 以支持更灵活的队列选择策略,由 @qianye1001 贡献于 https://github.com/apache/rocketmq/pull/9971
- [ISSUE #9994]通过 OptionGroup 校验改进 switchTimerEngine 命令,由 @majialoong 贡献于 https://github.com/apache/rocketmq/pull/9995
- [ISSUE #9923]事务消息不应发送自定义延迟消息,由 @yx9o 贡献于 https://github.com/apache/rocketmq/pull/9924
- [ISSUE #9953]修复:服务端无需解压消息体,由 @humkum 贡献于 https://github.com/apache/rocketmq/pull/9954
- [ISSUE #9912]减少分层存储中对消费位点时间戳的过多请求,由 @lizhimins 贡献于 https://github.com/apache/rocketmq/pull/9991
- [ISSUE #9992]修复远程服务器 Netty 服务端编解码器线程重用问题,由 @ymwneu 贡献于 https://github.com/apache/rocketmq/pull/9993
- [ISSUE #9978]从 loadJsonConfig 中移除 static 关键字并统一异常处理,由 @yx9o 贡献于 https://github.com/apache/rocketmq/pull/9979
- [ISSUE #9900]支持并发向 Broker 发送心跳,由 @Kris20030907 贡献于 https://github.com/apache/rocketmq/pull/9901
- [ISSUE #9975]将 Broker RocksDB 从 1.0.2 升级至 1.0.6,由 @lizhimins 贡献于 https://github.com/apache/rocketmq/pull/10002
- [ISSUE #10005]修复 updateConsumerOffsetAsync 中的 switch-case 逻辑,由 @yx9o 贡献于 https://github.com/apache/rocketmq/pull/10006
- [ISSUE #10015]优化 writeWithoutMmap:增加页面对齐以避免读-改-写,由 @guyinyou 贡献于 https://github.com/apache/rocketmq/pull/10016
- [ISSUE #9980]当消费组不存在时跳过无效的 POP 记录,由 @Gautam-aman 贡献于 https://github.com/apache/rocketmq/pull/9982
- [ISSUE #10023]移除 routeThreadPoolExecutor 中重复的关闭和拒绝处理器调用,由 @Kris20030907 贡献于 https://github.com/apache/rocketmq/pull/10024
- [ISSUE #10017]在 recoverAbnormally 中验证 commitlog 位点,以防止处理无效数据,由 @guyinyou 贡献于 https://github.com/apache/rocketmq/pull/10018
- [ISSUE #10031]在 AllocateMappedFileService 中添加 PreprocessHandler 接口,由 @guyinyou 贡献于 https://github.com/apache/rocketmq/pull/10032
- [ISSUE #10019]撤回 "[ISSUE #8127]优化时间轮的指标计算逻辑",由 @RongtongJin 贡献于 https://github.com/apache/rocketmq/pull/10020
- [ISSUE #10035]修复:当消息结束位置已进行页面对齐时,避免额外的填充,由 @guyinyou 贡献于 https://github.com/apache/rocketmq/pull/10036
- [ISSUE #10040]忽略 Maven 生成的 flattened-pom.xml 文件,由 @yx9o 贡献于 https://github.com/apache/rocketmq/pull/10041
- [ISSUE #10038]修复 checkCommitLogOffsetOnRecover,使其在遇到 BLANK_MAGIC_CODE 时跳过验证,由 @guyinyou 贡献于 https://github.com/apache/rocketmq/pull/10039
- [ISSUE #9852]当属性中未找到 CRC 时打印完整消息内容,由 @guyinyou 贡献于 https://github.com/apache/rocketmq/pull/9853
- [ISSUE #9988]移除 getConsumerConnectionList 中不匹配的响应头,由 @yx9o 贡献于 https://github.com/apache/rocketmq/pull/9989
- [ISSUE #10043]使 TimerMessageReputService 线程池可配置并支持优雅关闭,由 @Kris20030907 贡献于 https://github.com/apache/rocketmq/pull/10044
- [ISSUE #10021]使用 EnumSet 优化消费者类型检查,由 @yx9o 贡献于 https://github.com/apache/rocketmq/pull/10022
- [ISSUE #10054]更正 ConsumerRecords 的输出格式,由 @yx9o 贡献于 https://github.com/apache/rocketmq/pull/10055
- [ISSUE #10050]支持 ChangeInvisibleTime 而不增加消息重试次数,由 @ltamber 贡献于 https://github.com/apache/rocketmq/pull/10051
- [ISSUE #10034]优化 CQ 迭代器及滞后计算,由 @lizhimins 贡献于 https://github.com/apache/rocketmq/pull/10056
- [ISSUE #9999]用延迟类型标记自定义延迟时间消息,由 @yx9o 贡献于 https://github.com/apache/rocketmq/pull/10000
- [ISSUE #10046]修复 sendHeartbeatToBroker 中的锁泄漏风险,由 @yx9o 贡献于 https://github.com/apache/rocketmq/pull/10047
- [ISSUE #10063]通知请求增加订阅表达式以支持按需唤醒,由 @qianye1001 贡献于 https://github.com/apache/rocketmq/pull/10064
- [ISSUE #10068]移除 DefaultMessagingProcessor.init 中的重复注册,由 @yx9o 贡献于 https://github.com/apache/rocketmq/pull/10069
- [ISSUE #10071]修复 PopLiteLongPollingService#cleanUnusedResource,由 @f1amingo 贡献于 https://github.com/apache/rocketmq/pull/10072
- [ISSUE #10073]修复 StoreCheckpoint logicsMsgTimestamp,使其反映已刷盘的消费队列存储时间,由 @guyinyou 贡献于 https://github.com/apache/rocketmq/pull/10074
- [ISSUE #10079]FlushConsumeQueueService:在 CQ 刷盘后始终刷盘存储检查点,由 @guyinyou 贡献于 https://github.com/apache/rocketmq/pull/10080
- [ISSUE #10082]在延迟消息类型验证中缺失 PROPERTY_TIMER_DELAY_MS 属性检查,由 @dingshuangxi888 贡献于 https://github.com/apache/rocketmq/pull/10084
- [ISSUE #10095]升级 Commons Lang3 以修复 CVE,由 @shub-est 贡献于 https://github.com/apache/rocketmq/pull/10096
- [ISSUE #10086]修复定时器引擎切换以持久化正确的配置键,由 @Liu-ZhenYu 贡献于 https://github.com/apache/rocketmq/pull/10085
- [ISSUE #10093]在批量发送中增强延迟消息类型验证,由 @yx9o 贡献于 https://github.com/apache/rocketmq/pull/10094
- [ISSUE #10105]修复 getLocks() 方法中的 ClassCastException,由 @yx9o 贡献于 https://github.com/apache/rocketmq/pull/10106
- [ISSUE #10108]Broker 在恢复时启动失败,由 @yuz10 贡献于 https://github.com/apache/rocketmq/pull/10109
- [ISSUE #10110]当 tlsMode=enforcing 时普通请求处理成功但响应失败,由 @yuz10 贡献于 https://github.com/apache/rocketmq/pull/10111
- [ISSUE #10107]修复解析 AtomicLong 时 fastjson2 的整数溢出问题,由 @yx9o 贡献于 https://github.com/apache/rocketmq/pull/10112
- [ISSUE #10061]优化 RocketMQ 的 Issue/PR 模板,由 @mxsm 贡献于 https://github.com/apache/rocketmq/pull/10062
- [ISSUE #10011]优化加速恢复过程并重构代码,由 @RongtongJin 贡献于 https://github.com/apache/rocketmq/pull/10012
- [ISSUE #10159]修复 DefaultMQLitePullConsumerWithTraceTest 中的不稳定测试,由 @yx9o 贡献于 https://github.com/apache/rocketmq/pull/10160
- [ISSUE #10077]为 Proxy TLS 支持密码加密的私钥,由 @majialoong 贡献于 https://github.com/apache/rocketmq/pull/10078
- [ISSUE #10009]添加空值检查日志并将仅内部使用的公共类转换为内部类,由 @sinberCS 贡献于 https://github.com/apache/rocketmq/pull/10028
- [ISSUE #10157]修复删除 Topic 后的分层元数据泄漏,由 @woaishixiaoxiao 贡献于 https://github.com/apache/rocketmq/pull/10158
- [ISSUE #10154]将 BrokerConsumeStatsSubCommad 重命名为 BrokerConsumeStatsSubCommand,由 @yx9o 贡献于 https://github.com/apache/rocketmq/pull/10155
- [ISSUE #10161]减少字节拷贝,由 @ChineseTony 贡献于 https://github.com/apache/rocketmq/pull/10162
- [ISSUE #10168]修复 GetAllTopicConfigResponseHeader 的兼容性问题,由 @gaoyf 贡献于 https://github.com/apache/rocketmq/pull/10169
- [ISSUE #10103]提高 pollIndexRecord 方法中的批量轮询效率,由 @yx9o 贡献于 https://github.com/apache/rocketmq/pull/10104
- [ISSUE #10171]在 runbroker.sh 和 runserver.sh 中支持自定义 Linux 下的 JAVA_HOME,由 @majialoong 贡献于 https://github.com/apache/rocketmq/pull/10172
- [ISSUE #10181]PopConsumerService 中的一些小修复,由 @lizhimins 贡献于 https://github.com/apache/rocketmq/pull/10182
- [ISSUE #10195]确保从-主同步中 RocksDB 的兼容性,由 @gaoyf 贡献于 https://github.com/apache/rocketmq/pull/10196
- [ISSUE #10199]修复过时的写入时间戳导致事务重复提交的问题,由 @lizhimins 贡献于 https://github.com/apache/rocketmq/pull/10200
- [ISSUE #10201]优化 IndexService 中的 queryOffset 方法重载,由 @yx9o 贡献于 https://github.com/apache/rocketmq/pull/10202
- [ISSUE #10221]为 ThreadPoolMonitor 添加 RejectedExecutionHandler 支持,由 @ltamber 贡献于 https://github.com/apache/rocketmq/pull/10222
- [ISSUE #10229]修复服务端重置位点对 FIFO(有序)Pop 消费者不生效的问题,由 @qianye1001 贡献于 https://github.com/apache/rocketmq/pull/10230
- [ISSUE #10223]不在分层存储中查询系统 Topic 的索引,由 @lizhimins 贡献于 https://github.com/apache/rocketmq/pull/10224
- [ISSUE #10003]为 Proxy 添加 gRPC 每个连接的最大并发调用数配置,由 @qianye1001 贡献于 https://github.com/apache/rocketmq/pull/10004
- [ISSUE #10165]防止定时器引擎切换后 RocksDB 指标被覆盖,由 @3424672656 贡献于 https://github.com/apache/rocketmq/pull/10166
- [ISSUE #10076]使有序 resetOffset 在保持超时语义的同时等待消费锁,由 @LystranG 贡献于 https://github.com/apache/rocketmq/pull/10175
- [ISSUE #10191]修复定时器基准测试示例中 namesrvAddr 解析错误的选项值,由 @majialoong 贡献于 https://github.com/apache/rocketmq/pull/10192
- [ISSUE #10189]移除 MQClientInstance 中未使用的 fetchRemoteConfigExecutorService,由 @Kris20030907 贡献于 https://github.com/apache/rocketmq/pull/10190
- [ISSUE #10183]修复使用静态 Topic 构建 ProcessQueueTable 时错误的 brokerName,由 @Kris20030907 贡献于 https://github.com/apache/rocketmq/pull/10184
- [ISSUE #10183]修复在尝试释放未成功获取的锁时出现的异常,由 @Kris20030907 贡献于 https://github.com/apache/rocketmq/pull/10186
- [ISSUE #10203]支持 LiteTopic 的通配符订阅和消费者挂起,由 @f1amingo 贡献于 https://github.com/apache/rocketmq/pull/10204
- [ISSUE #10173]在 CombineConsumeQueueStore 中支持 LMQ,且无需迁移到 RocksDB CQ,由 @imzs 贡献于 https://github.com/apache/rocketmq/pull/10174
- [ISSUE #10240]添加 BatchSplittingMetricExporter 以防止 OTLP gRPC 导出失败,由 @Houlong66 贡献于 https://github.com/apache/rocketmq/pull/10239
- [ISSUE #10173]改进 PopLite:重命名 RocksDB CQ 路径并调度 autoClean,由 @imzs 贡献于 https://github.com/apache/rocketmq/pull/10242
- [ISSUE #9777]同步从节点时使用主节点的数据版本并修复删除消费队列问题,由 @absolute8511 贡献于 https://github.com/apache/rocketmq/pull/9778
- [ISSUE #10181]在 PopConsumerService 中重置位点时移除锁,由 @lizhimins 贡献于 https://github.com/apache/rocketmq/pull/10250
- 修复(store):在 ConsumeQueueStore 关闭时关闭所有消费队列文件句柄,由 @RongtongJin 贡献于 https://github.com/apache/rocketmq/pull/10060
- 禁止 windows 同步目录,由 @gaoyf 贡献于 https://github.com/apache/rocketmq/pull/10057
- 恢复丢失的 PR 3460,由 @gaoyf 贡献于 https://github.com/apache/rocketmq/pull/10067
- 移除部分工作流,由 @RongtongJin 贡献于 https://github.com/apache/rocketmq/pull/10220
依赖升级
- 将 commons-validator 从 1.7 升级至 1.10.0,由 @Zjianru 贡献于 https://github.com/apache/rocketmq/pull/10081
- 升级 LZ4 并迁移到新的组 ID,由 @shub-est 贡献于 https://github.com/apache/rocketmq/pull/10092
- 升级 Bouncy Castle 以修复 CVE,由 @shub-est 贡献于 https://github.com/apache/rocketmq/pull/10102
- 将 Netty 升级至 4.1.130.Final 以修复 CVE,由 @shub-est 贡献于 https://github.com/apache/rocketmq/pull/10090
新贡献者
- @Gautam-aman 进行了首次贡献,见 https://github.com/apache/rocketmq/pull/9982
- @shub-est 进行了首次贡献,见 https://github.com/apache/rocketmq/pull/10096
- @Liu-ZhenYu 进行了首次贡献,见 https://github.com/apache/rocketmq/pull/10085
- @Zjianru 进行了首次贡献,见 https://github.com/apache/rocketmq/pull/10081
- @LystranG 进行了首次贡献,见 https://github.com/apache/rocketmq/pull/10175
- @Houlong66 进行了首次贡献,见 https://github.com/apache/rocketmq/pull/10239
完整变更日志: https://github.com/apache/rocketmq/compare/rocketmq-all-5.4.0...rocketmq-all-5.5.0