SDK 概述

最近更新时间:2025-12-18 15:21:02

我的收藏
消息队列 RocketMQ 版是由腾讯云独立维护的代码分支且 100% 兼容 RocketMQ 协议的消息队列,具备高性能、高可用、高可靠、高弹性、高安全等特征。本文主要介绍 RocketMQ 集群不同版本 SDK 的兼容性说明,以及使用客户端收发消息前连接信息的收集,例如获取集群的接入点、访问集群的角色和密钥等。

各版本 SDK 说明

腾讯云消息队列 RocketMQ 版各版本 SDK 和功能支持情况如下表所示,✓ 表示支持该功能,× 表示暂不支持该功能。一般为客户端能力不支持。
对比项
RocketMQ 5.x gRPC SDK
RocketMQ 5.x Remoting SDK
RocketMQ 4.x/3.x SDK
RocketMQ TCP 1.x SDK
RocketMQ HTTP SDK
协议
gRPC 协议
Remoting 协议
Remoting 协议
Remoting 协议
HTTP 协议
可访问的集群类型
5.x 系列
5.x 系列
4.x 系列
5.x 系列
4.x 系列
5.x 系列
4.x 系列
5.x 系列
4.x 系列
使用建议
推荐 5.x gRPC SDK。
多语言支持完善。
新的功能和优化社区将会在 5.x gRPC SDK 上得到支持。
如果 5.x gRPC SDK 的某些功能不能满足需求,则可以考虑使用 5.x Remoting SDK。比如一些 PushConsumer 在部分语言上不支持。
原业务已使用这些版本的客户端可继续正常使用。
5.x系列实例兼容这些版本的 SDK。
在专线场景下,需要使用 5.x 系列,其他场景可自选。
普通、顺序、定时消息的发送功能
事务消息
×
消息轨迹
4.5.2及以上版本支持
并发消费
顺序消费
广播消费
×
×
流式消费(如Flink 等)
×
×
×
客户端Metrics 指标数据
×
×
×
×
批量发送
×
×
×
备注:总体而言,JAVA 和 GO 的版本是最完善的,同时 HTTP SDK 也使用广泛。

JAVA 客户端兼容性说明

RocketMQ 5.0 提供了全新的基于 gRPC 协议的 5.x SDK,新版本 SDK 更加轻量化,多语言支持更好,建议优先使用。同时,消息队列 RocketMQ 版 5.x 系列也支持存量业务继续使用 4.x SDK 访问,对使用量最大的 JAVA 客户端的 兼容性说明如下:
服务端版本
客户端版本
兼容性
5.x
5.x SDK
完全兼容
4.x SDK
版本 >= 4.9.5
PushConsumer CONSUME_FROM_TIMESTAMP 暂不生效(控制台可以重置位点)。
消费者 setPullBatchSize 最大值为 32(服务端会最终限制为 32)。
版本 < 4.9.5
PushConsumer CONSUME_FROM_TIMESTAMP 暂不生效(控制台可以重置位点)。
消费者 setPullBatchSize 最大值为 32(服务端会最终限制为 32)。
PullConsumer 消费暂不支持。

客户端网络环境说明

客户端可通过以下三种网络方式连接并访问 RocketMQ 集群:
1. 同一 VPC 网络直接访问
客户端和 RocketMQ 集群部署在同一个私有网络 VPC 内,网络默认互通,可以直接使用 VPC 网络接入点访问。
2. 不同 VPC 网络通过云联网通信
客户端和 RocketMQ 集群部署在不同的私有网络 VPC 内,由于 VPC 之间逻辑隔离,无法直接通信。若需要跨网通信,可以使用云联网实现同账号下不同地域间的 VPC 互通。
3. 公网访问
客户端部署在其他网络环境,或者与 RocketMQ 集群在不同的地域,可以开通一条公网路由,通过公网接入点访问。
更多关于网络环境的介绍请参考网络连接说明

获取连接信息

以下连接信息均需登录 TDMQ RocketMQ 版控制台获取。
1. 集群接入点地址和端口信息。
在集群基本信息页面的接入信息模块获取,根据网络类型的不同选择不同的接入点。

2. 命名空间的名称(仅 4.x 专享集群和虚拟集群需要填写)。
在控制台的命名空间列表页面获取。

3. 访问集群的角色和密钥,需确保该用户已拥有相应的访问权限。
在控制台的集群权限(5.x 集群)或者角色管理(4.x 集群)页面获取。

4. Topic 名称。
在控制台的 Topic 列表页面获取。

5. Group 名称。
在控制台的 Group 列表页面获取。