MQ是什么?
MQ是Message Queue的缩写,即消息队列。既然是队列,就具有队列的特性:FIFO--先进先出。
应用:
1、异步解耦:
2、流量削峰:
常见的MQ产品:
RocketMQ:
下载地址:Apache RocketMQ
安装:
1、将下载后的压缩包上传到Linux服务器,使用[unzip 压缩报名] 解压;
2、修改配置文件:
3、要使用RocketMQ需要启动两个东西:
一个是:NameServer:
一个是Broker:
4、测试rocketmq:
5、停止rocketmq:
RocketMQ内部结构:
RocketMQ控制台:
使用RocketMQ:
引入依赖:
<!-- RocketMQ依赖 -->
<dependency>
<groupId>org.apache.rocketmq</groupId>
<artifactId>rocketmq-spring-boot-starter</artifactId>
<version>2.2.1</version>
</dependency>
<!-- RocketMQ客户端 -->
<dependency>
<groupId>org.apache.rocketmq</groupId>
<artifactId>rocketmq-client</artifactId>
<version>5.0.0-PREVIEW</version>
</dependency>
application.yml文件配置:
#RocketMQ配置
rocketmq:
name-server: #RocketMQ服务的地址
producer:
group: #生产者组
RocketMQ发送消息:
RocketMQ接收消息:
具体应用:
RocketMQ发送不同类型的消息:
1、普通消息:
2、顺序消息:
3、事务消息:
注:
使用RocketMQTemplate时,要在代码中配置好各项指标;
使用application.yml方式配置时,尽量不要再使用代码配置的方式二次配置rocketmq。
当代码配置方式和yml方式并存的时候,以代码方式的配置优先。
rocketmq...starter 2.1.0以后,@RocketMQTransactionListener注解中移除txProducerGroup