目录

RocketMQ 同步发送消息

RocketMQ 异步发送消息

RocketMQ 单向发送消息

RocketMQ Console 可视化控制台


1、Apache 上开源官方地址:https://rocketmq.apache.org/

2、GitHub 托管地址:https://github.com/apache/rocketmq

3、Apache 官方 “快速入门” 文档:https://rocketmq.apache.org/docs/quick-start/

4、Github 官网所有示例:https://github.com/apache/rocketmq/tree/master/example

5、Apache RocketMQ 集成 Spring boot:https://github.com/apache/rocketmq-spring/wiki/%E7%94%A8%E6%88%B7%E6%89%8B%E5%86%8C

同步消息、异步消息和单向消息,其中前两种消息是可靠的,因为会有发送是否成功的应答,本文只做入门教程,更多详细示例应该参考官网:

RocketMQ 官网示例文档:https://github.com/apache/rocketmq/blob/master/docs/cn/RocketMQ_Example.md

RocketMQ 官网示例源码:https://github.com/apache/rocketmq/tree/master/example

RocketMQ 同步发送消息

1、RocketMQ 安装 完成后,就可以自己编码通信了,特别提醒:如果是自己搭建的虚拟机,因为内存小,如果开放防火墙之后,本地 Java 应用中发送或者接收消息还是报错,则推荐直接关闭 Linux 防火墙!

firewall-cmd --zone=public --add-port=9876/tcp --permanent   #开启 9876 端口
firewall-cmd --reload                                                                 #重启防火墙
firewall-cmd --zone=public --list-ports                                       #查看开放的端口

systemctl stop firewalld               #关闭防火墙

systemctl status firewalld                                                         #查看防火墙状态

2、本文环境:Java JDK 1.8 + Spring boot 2.3.5 + RocketMQ 服务器 v4.7.1 + rocketmq-client 4.7.1(客户端版本必须与服务器版本一致)。

3、如果是下载二进制开发包,则可以从官网 下载 -bin- 的包,如:Binary: rocketmq-all-4.7.1-bin-release.zip [PGP] [SHA512]

4、如果是 Maven 应用,则可以从官网复制 Maven 依赖:

<!-- Apache rocketMQ 消息中间件,版本必须与 RocketMQ 服务器版本对应-->
        <!-- https://mvnrepository.com/artifact/org.apache.rocketmq/rocketmq-client -->
        <dependency>
            <groupId>org.apache.rocketmq</groupId>
            <artifactId>rocketmq-client</artifactId>
            <version>4.7.1</version>
        </dependency>

5、正式编码之前,需要启动 RocketMQ 名称服务器 nameServer、以及 RocketMQ 代理 Broker。RocketMQ 安装与启动。

同步发送消息:可靠的同步传输应用于广泛的场景,如重要的通知消息、短信通知、短信营销系统等。在线演示源码:helloWorld/Producer.java

接收消费消息:在线演示源码:helloWorld/Consumer.java

rocketmq docker下载 rocketmq-client_发送消息

RocketMQ 异步发送消息

1、异步传输通常用于响应时间敏感的业务场景,即发送端不能容忍长时间地等待 Broker 的响应。

2、在线演示源码:helloWorld/AsyncProducer.java

rocketmq docker下载 rocketmq-client_官网_02

RocketMQ 单向发送消息

1、单向传输用于需要中等可靠性的情况,例如日志收集。

2、在线演示源码:helloWorld/OnewayProducer.java

rocketmq docker下载 rocketmq-client_apache_03

RocketMQ Console 可视化控制台

1、无论是平时开发测试还是生产上排查问题,有个可视化界面操作还是挺方便的,比如可以用来发送消息,查看消息等。

2、RocketMQ Console 是 RocketMQ 提供的可视化管理工具,方便可视化的操作(RocketMQ Console 官网),包含了多个功能:

运维、驾驶舱、集群、主题、消费者、生产者、消息、消息轨迹、connector

3、注意:rocketmq-externals 下面有很多的子项目,但我们只需要其中的 rocketmq-console 模块,可以下载全部,也可以从rocketmq-console-1.0.0 释放列车单独下载。

4、下载之后需要编译打包:进入 rocketmq-console 项目,然后命令:mvn clean package -Dmaven.test.skip=true,打包后 rocketmq-console/target 目录下就会生成一个 rocketmq-console-ng-1.0.0.jar 的可执行 jar 包。

5、运行 rocketmq-console:java -jar rocketmq-console-ng-1.0.0.jar --server.port=12581 --rocketmq.config.namesrvAddr=10.89.0.64:9876;10.89.0.65:9876

--server.port:自定义 rocketmq-console web 应用的访问端口,默认为 8080

--rocketmq.config.namesrvAddr:指定 RocketMQ 命名服务器集群地址,默认为 “”

--这些配置项都可以通过手动修改 jar 包中的配置文件进行修改

rocketmq docker下载 rocketmq-client_apache_04

6、使用也非常简单,访问:http://localhost:12581,先从右上角切换语言为中文,然后就能轻松使用各种操作,rocketmq-console 官网使用指南。

rocketmq docker下载 rocketmq-client_发送消息_05