连接已开启SSL的RocketMQ实例(TCP协议)
实例开启SSL时,数据使用加密传输,安全性更高。本文主要介绍在命令行模式下调用TCP协议连接已开启SSL的RocketMQ实例。
在使用SSL连接的场景下,通过内网访问和通过公网访问,仅涉及连接IP和端口不一致,其他操作步骤是一样的,内网访问的连接端口为8100,公网环境下访问的连接端口为8200。
文中仅介绍公网环境下的连接示例,在内网连接时,替换为相应的连接地址即可。
前提条件
- 已创建RocketMQ实例,并记录实例详情中的“连接地址”(内网访问)/“公网连接地址”(公网访问)
- 已配置安全组。
- 已创建Topic。
- 已创建弹性云服务器,如果使用内网访问RocketMQ实例,请设置弹性云服务器的VPC、子网、安全组与RocketMQ实例的VPC、子网、安全组保持一致。
- 已安装Java Development Kit 1.8.111或以上版本,并完成环境变量配置。
命令行模式连接实例
- 下载“rocketmq-tutorial”示例软件包。
wget https://dms-demo.obs.cn-north-1.myhuaweicloud.com/rocketmq-tutorial.zip
- 解压“rocketmq-tutorial”。
unzip rocketmq-tutorial.zip
- 进入“rocketmq-tutorial/bin”目录。
cd rocketmq-tutorial/bin
- 运行生产普通消息示例。
JAVA_OPT=-Dtls.enable=true sh mqadmin sendMessage -n "${连接地址}" -t ${Topic名称} -p "hello rocketmq"
参数说明如下:
- 连接地址:表示RocketMQ实例的“连接地址”(内网访问)/“公网连接地址”(公网访问)。
- Topic名称:RocketMQ实例下创建的Topic名称。
示例如下,其中“100.xxx.xxx.89:8200;100.xxx.xxx.144:8200”为RocketMQ实例的元数据公网连接地址,“topic-test”为Topic名称。
JAVA_OPT=-Dtls.enable=true sh mqadmin sendMessage -n "100.xxx.xxx.89:8200;100.xxx.xxx.144:8200" -t topic-test -p "hello rocketmq"
使用Ctrl+C命令退出。
- 运行消费普通消息示例。
JAVA_OPT=-Dtls.enable=true sh mqadmin consumeMessage -n "${连接地址}" -t ${Topic名称}
参数说明如下:
- 连接地址:表示RocketMQ实例的“连接地址”(内网访问)/“公网连接地址”(公网访问)。
- Topic名称:RocketMQ实例下创建的Topic名称。
示例如下,其中“100.xxx.xxx.89:8200;100.xxx.xxx.144:8200”为RocketMQ实例的元数据公网连接地址,“topic-test”为Topic名称。
JAVA_OPT=-Dtls.enable=true sh mqadmin consumeMessage -n "100.xxx.xxx.89:8200;100.xxx.xxx.144:8200" -t topic-test
如需停止消费使用Ctrl+C命令退出。
- 运行生产带消息轨迹的消息示例。
JAVA_OPT=-Dtls.enable=true sh mqadmin sendMessage -n "${连接地址}" -t ${Topic名称} -p "hello rocketmq" -m true
参数说明如下:
- 连接地址:表示RocketMQ实例的“连接地址”(内网访问)/“公网连接地址”(公网访问)。
- Topic名称:RocketMQ实例下创建的Topic名称。
示例如下,其中“100.xxx.xxx.89:8200;100.xxx.xxx.144:8200”为RocketMQ实例的元数据公网连接地址,“topic-test”为Topic名称。
JAVA_OPT=-Dtls.enable=true sh mqadmin sendMessage -n "100.xxx.xxx.89:8200;100.xxx.xxx.144:8200" -t topic-test -p "hello rocketmq" -m true
使用Ctrl+C命令退出。
- 运行消费消息示例,并发送消息轨迹。
JAVA_OPT=-Dtls.enable=true sh mqadmin consumeMessage -n "${连接地址}" -t ${Topic名称} -m true
参数说明如下:
- 连接地址:表示RocketMQ实例的“连接地址”(内网访问)/“公网连接地址”(公网访问)。
- Topic名称:RocketMQ实例下创建的Topic名称。
示例如下,其中“100.xxx.xxx.89:8200;100.xxx.xxx.144:8200”为RocketMQ实例的元数据公网连接地址,“topic-test”为Topic名称。
JAVA_OPT=-Dtls.enable=true sh mqadmin consumeMessage -n "100.xxx.xxx.89:8200;100.xxx.xxx.144:8200" -t topic-test -m true
使用Ctrl+C命令退出。