1. RocketMQ介绍
rocketmq是阿里巴巴开源的一款分布式的消息中间件,他源于jms规范但是不遵守jms规范。对于分布式只一点,如果你了用过其他mq并且了解过rocketmq,就知道rocketmq天生就是分布式的,可以说是broker、provider、consumer等各种分布式
2. RocketMQ优点
-
去除对zk的依赖
-
支持异步和同步两种方式刷磁盘
-
单机支持的队列或者topic数量是5w
-
支持消息重试
-
支持严格按照一定的顺序发送消息
-
支持定时发送消息
-
支持根据消息ID来进行查询
-
支持根据某个时间点进行消息的回溯
-
支持对消息服务端的过滤
-
消费并行度:顺序消费 取决于queue数量,乱序消费 取决于consumer数量
3. RocketMQ发送消息和消费消息
(1) 创建父工程

pom.xml如下
1 | |
(2) 创建消息生产者
新建工程MQProducer-demo
pom.xml如下所示
1 | |
修改application.properties文件
1 | |
新建消息生产者配置类
1 | |
新建消息生产者接口
1 | |
测试
生产者控制台发送消息:

(3) 创建消息消费者
pom.xml同消息生成者模块
1 | |
修改配置文件
1 | |
mq消费者配置
1 | |
这个只是初始化操作,实际对消费者对消息处理放在 consumer.registerMessageListener(consumeMsgListenerProcessor); 这个监听类里面了,实际接收消息,处理消息都放在监听类里
1 | |
启动测试

如图,收到生产者消息