文档首页/ 分布式消息服务RocketMQ版/ 用户指南/ 连接实例/ 使用客户端连接RocketMQ(开启SSL)
更新时间:2024-10-17 GMT+08:00
分享

使用客户端连接RocketMQ(开启SSL)

实例开启SSL时,数据使用加密传输,安全性更高。本文主要介绍在Linux系统的命令行模式下,调用TCP协议连接已开启SSL的RocketMQ实例。

创建实例时或者在实例基本信息中,将“SSL”配置为“SSL”或“PERMISSIVE”(通过密文传输),即为已开启SSL。

操作视频

本视频演示使用客户端连接RocketMQ实例的操作。

前提条件

  • 已创建RocketMQ实例,并记录实例详情中的“连接地址”(内网访问)/“公网连接地址”(公网访问)。内网访问的连接端口为8100,公网环境下访问的连接端口为8200。
  • 客户端和RocketMQ实例之间网络已互通,具体网络要求参见连接RocketMQ网络要求页面。
  • 配置安全组
  • 创建Topic
  • 客户端所在服务器已安装Java Development Kit 1.8.111或以上版本,并完成环境变量配置。

命令行模式连接实例

  1. 登录客户端所在服务器。
  2. 下载“rocketmq-tutorial”示例软件包。

    wget https://dms-demos.obs.cn-north-1.myhuaweicloud.com/rocketmq-tutorial.zip

  3. 解压“rocketmq-tutorial”。

    unzip rocketmq-tutorial.zip

  4. (可选)如果RocketMQ实例开启了ACL访问控制,执行mqadmin命令时,需要鉴权。

    切换到解压后的软件包目录下,在“conf/tools.yml”文件中,增加如下内容。
    accessKey:*******
    secretKey:*******

    accessKey和secretKey表示在控制台“用户管理”页面,创建的用户名和密钥,具体可参见创建用户

  5. 进入“rocketmq-tutorial/bin”目录。

    cd rocketmq-tutorial/bin

  6. 运行生产普通消息示例。

    JAVA_OPT=-Dtls.enable=true sh mqadmin sendMessage -n "${连接地址}" -t ${Topic名称} -p "hello rocketmq"

    参数说明如下:

    • 连接地址:表示RocketMQ实例的“连接地址”(内网访问)/“公网连接地址”(公网访问)。
    • Topic名称:RocketMQ实例下创建的Topic名称。

    示例如下,其中“11.xxx.xxx.89:8200;11.xxx.xxx.144:8200”为RocketMQ实例的元数据公网连接地址,“topic-test”为Topic名称。

    JAVA_OPT=-Dtls.enable=true sh mqadmin sendMessage -n "11.xxx.xxx.89:8200;11.xxx.xxx.144:8200" -t topic-test -p "hello rocketmq"

    使用Ctrl+C命令退出。

  7. 运行消费普通消息示例。

    JAVA_OPT=-Dtls.enable=true sh mqadmin consumeMessage -n "${连接地址}" -t ${Topic名称}

    参数说明如下:

    • 连接地址:表示RocketMQ实例的“连接地址”(内网访问)/“公网连接地址”(公网访问)。
    • Topic名称:RocketMQ实例下创建的Topic名称。

    示例如下,其中“11.xxx.xxx.89:8200;11.xxx.xxx.144:8200”为RocketMQ实例的元数据公网连接地址,“topic-test”为Topic名称。

    JAVA_OPT=-Dtls.enable=true sh mqadmin consumeMessage -n "11.xxx.xxx.89:8200;11.xxx.xxx.144:8200" -t topic-test

    如需停止消费使用Ctrl+C命令退出。

  8. 运行生产带消息轨迹的消息示例。

    JAVA_OPT=-Dtls.enable=true sh mqadmin sendMessage -n "${连接地址}" -t ${Topic名称} -p "hello rocketmq" -m true

    参数说明如下:

    • 连接地址:表示RocketMQ实例的“连接地址”(内网访问)/“公网连接地址”(公网访问)。
    • Topic名称:RocketMQ实例下创建的Topic名称。

    示例如下,其中“11.xxx.xxx.89:8200;11.xxx.xxx.144:8200”为RocketMQ实例的元数据公网连接地址,“topic-test”为Topic名称。

    JAVA_OPT=-Dtls.enable=true sh mqadmin sendMessage -n "11.xxx.xxx.89:8200;11.xxx.xxx.144:8200" -t topic-test -p "hello rocketmq" -m true

    使用Ctrl+C命令退出。

  9. 运行消费消息示例,并发送消息轨迹。

    JAVA_OPT=-Dtls.enable=true sh mqadmin consumeMessage -n "${连接地址}" -t ${Topic名称} -m true

    参数说明如下:

    • 连接地址:表示RocketMQ实例的“连接地址”(内网访问)/“公网连接地址”(公网访问)。
    • Topic名称:RocketMQ实例下创建的Topic名称。

    示例如下,其中“11.xxx.xxx.89:8200;11.xxx.xxx.144:8200”为RocketMQ实例的元数据公网连接地址,“topic-test”为Topic名称。

    JAVA_OPT=-Dtls.enable=true sh mqadmin consumeMessage -n "11.xxx.xxx.89:8200;11.xxx.xxx.144:8200" -t topic-test -m true

    使用Ctrl+C命令退出。

相关文档