Java 的 PushConsumer 顺序消息在特定场景下无法保证顺序
客户端列表
5.0.6及以下版本在一些特殊场景下可能会遇到这个问题,在一些网络异常、超时等的场景下,无法保证消息顺序,相关问题:PushConsumer reentrant pop orderly doesn't work as expected。
升级客户端操作指南
建议升级到5.0.7,直接升级依赖版本即可。
golang 版本低,路由表可能被清空
客户端列表
升级客户端操作指南
建议升级到 v5.1.1-rc1,直接升级依赖版本即可。
Java 消息轨迹可能不完整
客户端列表
4.9.4及以下在一些特殊场景下可能会遇到。
升级客户端操作指南
建议升级到4.9.5,直接升级依赖版本即可。
Go SDK 首次启动可能报错 fetch offset of mq from broker error
客户端列表
master 分支之下都可能遇到,比如 v2.1.2 及以下,启动报错
fetch offset of mq from broker error,相关问题:fetch offset of mq from broker error升级客户端操作指南
建议升级到最新的 master branch 作为 Commit ID 版本即可。
Java SDK 消费过程中出现报错 the queue's messages, span too long, so do flow control
客户端列表
4.7.1及以下在一些特殊场景下可能会遇到,在消费过程中,日志中打印如上日志,并且消费会被限流,相关问题:the queue's messages, span too long, so do flow control。
升级客户端操作指南
建议升级到4.9.5,直接升级依赖版本即可。
Java SDK(rocketmq-remoting)存在远程命令执行漏洞 CVE-2023-33246
客户端列表
4.8.3 及以下版本的 rocketmq-remoting 组件存在 CVE-2023-33246 漏洞,攻击者可通过 NameServer 或 Broker 触发远程命令执行(RCE)。同时该版本依赖的 Netty 组件也需要升级。
升级客户端操作指南
Java SDK(rocketmq-clients gRPC)存在 ack 确认异常
客户端列表
v5.0.8 及以下版本在特定场景下可能出现 ack 确认失败的 Bug(已通过 GitHub Issue 确认),可能导致消息重复消费。
升级客户端操作指南
Go SDK(rocketmq-client-go)存在 goroutine 泄漏与消息解析异常
客户端列表
v2.1.0 及以下版本存在 goroutine 泄漏问题(issue #4694),以及消息批量发送时解析失败(issue #4697)和 ack 确认失败(issue #4690)等问题。
升级客户端操作指南
Python SDK(rocketmq-client-python)gRPC 版本过低导致兼容性问题
客户端列表
5.0.6 版本的 rocketmq-client-python 依赖的 gRPC 版本(2.51.0)存在兼容性问题。建议使用 Python 3.10 及以上版本运行。
升级客户端操作指南
各语言客户端 SDK 版本状态一览
以下为各语言 RocketMQ 客户端 SDK 的当前版本、推荐版本及风险状态汇总:
语言 | SDK 组件 | 当前在用版本 | 推荐版本 | 状态说明 |
Java | rocketmq-remoting(4.x 协议) | 4.8.3 | 4.8.7+ | 存在 CVE-2023-33246,建议升级 |
Java | rocketmq-clients gRPC(5.x) | 5.0.8 | 5.2.1 | 5.0.7 已修复 ack Bug,建议跟进最新 5.2.x |
Go | rocketmq-client-go(remoting) | 5.1.2 | 5.1.4 | v5.1.0 为 feature-complete 稳定版,支持 PushConsumer、SimpleConsumer、事务消息 |
Go | rocketmq-clients Go gRPC | master | 2.0.0 | 4.x 集群不能直接接入 Go SDK,建议使用 2.0.0 |
Python | rocketmq-client-python | 5.0.6 | 5.1.1 | 修复 gRPC 依赖问题,推荐 Python 3.10+ |
C/C++ | rocketmq-client-cpp(remoting) | master | 2.2.0 | 2.1.0 引入 Windows 实时编译路径 |
C/C++ | rocketmq-client-cpp(gRPC) | master | 5.0.4 | C++ gRPC 正式版代码迭代中,尚未完全提交 |
C# | rocketmq-clients C# gRPC | 5.2.1 | 5.2.1 | 5.0.0 即为完整正式版,支持 Producer + PushConsumer + SimpleConsumer,要求 .NET 6+ |
C# | rocketmq-client-csharp(remoting) | master | 5.2.1 | 已发布正式包,支持 .NET 6+ |
Node.js | rocketmq-clients Node gRPC | 1.0.1 | 1.0.7 | 1.0.0(2024-11-22)首个正式版发布,要求 Node.js ≥ 18.0,推荐 ≥ 18.17.0 (LTS) |
Node.js | rocketmq-client-node(remoting) | master | — | 仅 2019 年版本,未正式发布,不建议生产使用 |
Rust | rocketmq-clients Rust gRPC | master | — | 轻量 SDK 规划中,当前未发布 release,不建议生产使用 |
Rust | rocketmq-remoting(remoting) | master | — | Producer + SimpleConsumer 功能已具备,但无正式版本 |
PHP | rocketmq-clients PHP gRPC | master | — | 不推荐使用,无正式版,master 分支长期未更新 |
暂未正式发布的客户端 SDK 说明
以下语言的 RocketMQ 客户端 SDK 暂未发布正式版本或未达到生产可用状态,不建议在新业务中接入:
Node.js(remoting 协议):仓库
rocketmq-client-node 仅在 2019 年发布过一个版本,后续无活跃维护。如有 Node.js 接入需求,建议使用 gRPC 协议的 rocketmq-clients Node 版本(当前推荐 1.0.7)。Rust:
rocketmq-clients Rust gRPC 和 remoting 协议均处于 master 分支开发状态,尚未发布正式 release,预计在后续版本规划中。PHP:
rocketmq-clients/tree/php 分支的 gRPC 客户端长期未更新,无正式版本,不建议生产环境使用。