SpringBoot整合RocketMQ事务/广播/顺序消息

如何实现顺序消息? 需要程序保证发送和消费的是同一个 Queue

rocketmq默认发送的消息是进入多个消息队列,然后消费端多线程并发消费,所以默认情况,不是順序消费消息的;有時候,我们需要顺序消费一批消息,比如电商系统 订单创建、支付、完成操作,需要順序执行;

RocketMQTemplate给我们提供了SendOrderly方法(有多個重载),来实现发送顺序消息;包括以下:

syncSendOrderly,发送同步顺序消息;

asyncSendOrderly,发送异步顺序消息;

sendOneWayOrderly,发送单向顺序消息;

一般我们用syncSendOrderly方法发送同步顺序消息。

环境:springboot2.3.9RELEASE + RocketMQ4.8.0

依赖

<dependency>
  <groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
	<groupId>org.apache.rocketmq</groupId>
	<artifactId>rocketmq-spring-boot-starter</artifactId>
	<version>2.2.0</version>
</dependency>

配置文件

经验分享 程序员 微信小程序 职场和发展