使用客户端连接RocketMQ(关闭SSL)
本文主要介绍在Linux系统的命令行模式下连接关闭SSL的RocketMQ实例的方法。关闭SSL表示客户端和RocketMQ实例进行通信时,数据通过明文传输,性能更好。
操作视频
本视频演示连接RocketMQ实例的操作。
前提条件
- 已购买RocketMQ实例,并已将 “加密方式”设置为“PLAINTEXT”或“PERMISSIVE”。
- 客户端和RocketMQ实例之间网络已互通,具体网络要求请参见连接RocketMQ网络要求页面。
- 已配置正确的安全组。
客户端访问RocketMQ实例时,需要在RocketMQ实例中配置正确的安全组规则,否则会连接失败。安全组规则的配置请参见表2或表3。
- 已创建RocketMQ实例并已获取RocketMQ实例的连接地址。
- 已创建Topic并已获取Topic名称,且Topic具有发布和订阅权限。
- 客户端所在服务器已安装Java Development Kit 1.8.111或以上版本,并完成环境变量配置。环境变量的具体配置方法请参见安装JDK并配置环境变量。
- 客户端所在服务器需能访问公网,用于下载示例软件包。
命令行模式连接实例
- 使用SSH工具登录客户端所在服务器。
- 下载“rocketmq-tutorial”示例软件包。
wget https://dms-demos.obs.cn-north-1.myhuaweicloud.com/rocketmq-tutorial.zip
- 解压“rocketmq-tutorial”。
unzip rocketmq-tutorial.zip
- (可选)如果RocketMQ实例开启了ACL访问控制,执行mqadmin命令时,需要鉴权。
切换到解压后的软件包目录下,在“conf/tools.yml”文件中,增加如下内容。
accessKey:******* secretKey:*******
accessKey和secretKey表示在控制台“实例管理 > 用户管理”页面,创建的用户名和密钥,具体可参见创建用户。
- 进入“rocketmq-tutorial/bin”目录。
cd rocketmq-tutorial/bin
- 运行生产普通消息示例。
sh mqadmin sendMessage -n "${连接地址}" -t ${Topic名称} -p "消息内容"
表1 生产消息参数说明 参数名称
说明
取值示例
连接地址
RocketMQ实例的连接地址,从前提条件中获取。
11.xxx.xxx.89:8200;11.xxx.xxx.144:8200(以公网连接地址为例,内网端口为8100)
Topic名称
RocketMQ实例下创建的Topic名称,从前提条件中获取。
topic-test
消息内容
自定义生产消息的内容。
RocketMQ支持的最大消息大小是4M,且不支持修改。
hello rocketmq
将表1的取值示例代入命令示例中,执行如下命令生产普通消息:
sh mqadmin sendMessage -n "11.xxx.xxx.89:8200;11.xxx.xxx.144:8200" -t topic-test -p "hello rocketmq"
显示如下红色方框中信息,则表示消息生产成功。
- 运行消费普通消息示例。
sh mqadmin consumeMessage -n "${连接地址}" -t ${Topic名称}
将表1的取值示例代入命令示例中,执行如下命令消费普通消息:
sh mqadmin consumeMessage -n "11.xxx.xxx.89:8200;11.xxx.xxx.144:8200" -t topic-test
显示如下红色方框中信息,则表示消息消费成功。
如需停止消费使用Ctrl+C命令退出。
- 运行生产带消息轨迹的消息示例。
sh mqadmin sendMessage -n "${连接地址}" -t ${Topic名称} -p "消息内容" -m true
将表1的取值示例代入命令示例中,执行如下命令生产带消息轨迹的消息:
sh mqadmin sendMessage -n "11.xxx.xxx.89:8200;11.xxx.xxx.144:8200" -t topic-test -p "hello rocketmq" -m true
显示如下红色方框中信息,则表示消息生产成功。
- 运行消费消息示例,并发送消息轨迹。
sh mqadmin consumeMessage -n "${连接地址}" -t ${Topic名称} -m true
将表1的取值示例代入命令示例中,执行如下命令消费带消息轨迹的消息:
sh mqadmin consumeMessage -n "11.xxx.xxx.89:8200;11.xxx.xxx.144:8200" -t topic-test -m true
显示如下红色方框中信息,则表示消息消费成功。
如需停止消费使用Ctrl+C命令退出。
相关文档
- 关闭SSL的方法具体请参见修改RocketMQ实例的SSL配置。
- 开启ACL访问控制和配置ACL用户信息的方法具体请参见开启RocketMQ ACL访问和配置RocketMQ ACL用户。
- 连接实例失败,报错RemotingTooMuchRequestException: sendDefaultImpl call timeout
- 消费消息后,对于消费失败且重试后依然失败的消息,可以在控制台的死信队列中进行重投,具体请参见管理RocketMQ死信消息。