目录
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 端口
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 异步发送消息
1、异步传输通常用于响应时间敏感的业务场景,即发送端不能容忍长时间地等待 Broker 的响应。
2、在线演示源码:helloWorld/AsyncProducer.java
RocketMQ 单向发送消息
1、单向传输用于需要中等可靠性的情况,例如日志收集。
2、在线演示源码:helloWorld/OnewayProducer.java
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 包中的配置文件进行修改 |
6、使用也非常简单,访问:http://localhost:12581,先从右上角切换语言为中文,然后就能轻松使用各种操作,rocketmq-console 官网使用指南。