跳到主要内容
版本:Next

RocketMQ

RocketMQ 是一个 分布式开源消息队列系统,它被用于 消息队列 等场景。RocketMQ 是阿里主导开发的分布式开源消息队列系统,是一个低延迟、高并发、高可用、高可靠的分布式消息中间件。

console

准备

在参阅本文档使用 RocketMQ 时,需要确保如下几点:

  • 应用是基于 Websoft9 安装的

  • 应用的用途符合 apache2 开源许可协议

  • 应用具备访问条件:配置域名服务器安全组开启网外端口

入门指南

初始化

Websoft9 控制台安装 RocketMQ 后,通过【我的应用】管理应用,在访问标签页中获取登录信息。

  1. 使用本地浏览器访问可视化工具 RocketMQ-Console,进一步验证。

    RocketMQ-Console

  2. 测试其可用性

发送消息与接收消息

下面以 使用 RocketMQ 发送(生产者)和接受消息(消费者) 作为一个任务,帮助用户快速入门:

建议开始下面的步骤之前,先花5分钟时间阅读由通俗易懂的 物流系统与消息队列

  1. 对实验所需准备的工具或程序做出说明

    • 发送人(本实验对应的是一个程序):/data/rocketmq/bin/tools.sh
    • 接收人(本实验对应的是一个程序):/data/rocketmq/bin/tools.sh
    • 消息信件:示例代码生成 org.apache.rocketmq.example.quickstart.Producer (Java 类)
    • 消息存储地: RabbitMQ Broker
    • 消息订单处理中心:NAMESRV_ADDR 用于根据消息存储地资源情况进行消息的动态分配
  2. 使用 SSH 登录到 RocketMQ 服务器,运行下面命令,以发件人的身份发送消息

    export NAMESRV_ADDR=localhost:9876
    cd /data/rocketmq/bin
    sh tools.sh org.apache.rocketmq.example.quickstart.Producer
  3. 发送成功会收到 SendResult [sendStatus=SEND_OK, msgId= ... 之类的反馈结果

  4. 在运行下面的命令,以收件人的身份接受消息

    cd /data/rocketmq/bin
    sh tools.sh org.apache.rocketmq.example.quickstart.Consumer
  5. 接受成功会收到 ConsumeMessageThread_%d Receive New Messages: [MessageExt... 之类的反馈结果

  6. 登录到可视化界面 RocketMQ-Console 中可更直观的查看运行结果

管理维护

命令行

RocketMQ 提供了强大的的命令行工具 mqadmin

修改 RocketMQ 运行内存

分别修改如下两个配置文件:

  • rocketmq/bin/runserver.sh 文件中 Java 启动内存大小(非必要)
  • /data/rocketmq/bin/runbroker.sh 文件中 Java 启动内存大小(非必要)

可视化工具 RocketMQ-Console-NG

RocketMQ 扩展项目中提供了管理和监控 RocketMQ 的可视化工具:RocketMQ-Console-NG

  1. 使用本地电脑浏览器访问, 进入登陆页面

    RocketMQ-Console-NG 登录页面

  2. 输入账号密码(不知道账号密码?),成功登录到 RocketMQ 后台

    RocketMQ-Console

  3. 设置自己喜欢的语言

    RocketMQ-Console 语言设置

  4. 接下来便可以在可视化界面查看驾驶舱、集群、消费者等信息(参考官网文档)

故障

RocketMQ 的消息丢失?

消息将最多保存3天,未使用超过3天的消息将被删除。