操作场景
本文以调用 Node.js SDK 为例介绍通过开源 SDK 实现消息收发的操作过程,帮助您更好地理解消息收发的完整过程。
前提条件
已参考 SDK 概述,获取相关的客户端连接参数
安装好 Node.js 开发环境,例如 npm 等。
下载 Demo。
操作步骤
步骤1:安装 Node.js SDK 到项目中
1. 安装 SDK:
npmi rocketmq-client-nodejs
2. 安装完成后,项目的 package.json 文件中将会有对应的依赖。
步骤2:生产消息
import { Producer } from 'rocketmq-client-nodejs';const producer = new Producer({endpoints: 'rmq-xxx.rocketmq.gz.qcloud.tencenttdmq.com:8080', // 腾讯云接入点sessionCredentials: {accessKey: 'yourAccessKey', // akaccessSecret: 'yourSecretKey', // sk}});await producer.startup();const receipt = await producer.send({topic: 'TopicTest', // 在管控创建的 topicbody: Buffer.from(JSON.stringify({hello: 'rocketmq-client-nodejs world',now: Date(),})),});console.log(receipt);
参数 | 说明 |
accessKey | 角色密钥,在控制台的集群权限页面 AccessKey 列复制。 ![]() |
accessSecret | 角色名称,在控制台的集群权限页面 SecretKey 列复制。 |
endpoints | 集群接入地址,在控制台集群基本信息页面的接入信息模块获取。 ![]() |
topic | Topic 的名称,在控制台 Topic 管理页面复制。 ![]() |
步骤3:消费消息
Node.js SDK 目前支持 Simple Consumer。以下代码示例以 Simple Consumer 为例:
import {SimpleConsumer } from 'rocketmq-client-nodejs';const simpleConsumer = new SimpleConsumer({endpoints: 'rmq-xxx.rocketmq.gz.qcloud.tencenttdmq.com:8080', // 腾讯云接入点sessionCredentials: {accessKey: 'yourAccessKey', // akaccessSecret: 'yourSecretKey', // sk},consumerGroup: 'nodejs-demo-group', //消费组subscriptions: new Map().set('TopicTest', '*'),});await simpleConsumer.startup();const messages = await simpleConsumer.receive(20);console.log('got %d messages', messages.length);for (const message of messages) {console.log(message);console.log('body=%o', message.body.toString());await simpleConsumer.ack(message);}
参数 | 说明 |
accessKey | 角色密钥,在控制台的集群权限页面 AccessKey 列复制。 ![]() |
accessSecret | 角色名称,在控制台的集群权限页面 SecretKey 列复制。 |
endpoints | 集群接入地址,在控制台集群基本信息页面的接入信息模块获取。 ![]() |
consumerGroup | 消费者组名称,在控制台 Group 管理页面复制。 ![]() |
subscriptions | Topic 的名称,在控制台 Topic 管理页面复制。 ![]() |
步骤4:查看消息详情
消息发送后会得到一个消息 ID (messageID),您可以在控制台的消息查询 > 综合查询页面查询刚刚发送的消息,以及该消息的详情和轨迹等信息。




