RocketMQ:使用 5.x 客户端及代码示例

vs. 4.x 客户端
Python 4.x SDK 是 Remoting TCP 协议的老富客户端;Python 5.x(rocketmq-python-client)是全新 gRPC 协议 SDK,两套代码完全重构,API 不兼容,不是简单小版本升级
服务端兼容性
- Python 4.x SDK:可连接 RocketMQ 4.x/ 5.x 服务端
- Python 5.x gRPC SDK:只能连接 RocketMQ 5.x 服务端,无法连 4.x broker
Docker 部署
编写 docker-compose.yml 文件,内容如下:
| |
三个组件之间的关系及请求流程如下图:

安装依赖包
| |
代码
连接 Proxy,启动 Producer 实例
| |
执行:
生产者、消费者独立脚本
| |
| |
开启两个终端,分别执行:
| |
| |
与 v4 客户端对比
| 维度 | v4(rocketmq-client-python) | v5(rocketmq-python-client) |
|---|---|---|
| 底层 | 封装 C++ 客户端 | gRPC |
| 连接目标 | 直连 NameServer 9876 | 连 Proxy gRPC 8081 |
| 地址 API | producer.set_name_server_address("ip:9876") | ClientConfiguration("ip:8081", Credentials()) |
| 启动 | producer.start() | producer.startup() |
| 消费 | PushConsumer + subscribe(topic, callback) | PushConsumer(config, group, Listener, {topic: FilterExpression}) |