RocketMQ之消息的顺序发送与消费

本文介绍了RocketMQ中如何实现消息的顺序发送与消费。在电商等业务场景,保持消息顺序至关重要,如订单流程。生产者通过订单ID与队列数量取模确保每个订单消息进入同一队列;消费者则按队列顺序消费,保证消息顺序。示例展示了生产者和消费者的实现细节,展示了一条完整的顺序消息处理流程。

目录

顺序消息

生产者

消费者


 

顺序消息

 

在某些业务中,consumer在消费消息时,是需要按照生产者发送消息的顺序进行消费的,比如在电商系统中,订单的消息,会有创建订单、订单支付、订单完成,如果消息的顺序发生改变,那么这样的消息就没有意义了。

(想实现订单的需求,生产时必须让每一笔订单单独存在于一个队列中,消费时在指定队列中按顺序消费)

 

生产者

在代码中我们生成10个订单,根据需求我们应该让每一个订单的所有消息都只存在于特定的队列中。怎么分配呢?我们用订单数和队列数取模,队列数默认是4个。以此来满足每一个订单的所有消息都归为一个队列。

package cn.itcast.rocketmq.order;

import org.apache.rocketmq.client.producer.DefaultMQProducer;
import org.apache.rocketmq.client.producer.SendResult;
import org.apache.rocketmq.common.message.Message;
import 
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值