目录
Kafka、RabbitMQ 和 RocketMQ 是常见的消息队列,在处理消息顺序性、消息丢失、消息重复、消息积压和延迟消息处理等问题上,各有其特点和方法。
消息中间件应用的常见问题与方案
MQ消息乱序问题:
问题:同一个队列/分区的消息MQ会保证局部先进先出顺序,但是不同队列/分区的消息之间不保证有序
解决方案:
Kafka不保证全局消息顺序,但可以通过合理的分区策略和消息键来确保同一账单的消息被发送到同一个分区,从而在一定程度上保证消息的顺序性。
RocketMQ支持顺序消息。但是需要注意这是局部有序,非全局后续。具体实现过程:
1.发送mq消息时,通过selector将同一个业务主键的消息,发送到同一队列中
2.消费方使用MessageListenerOrderly消费局部有序的消息
消息中间件应用的常见问题与方案|得物技术
MQ消息乱序问题解析与实战解决方案 | 京东技术
丢失、重复、顺序与积压问题:
Kafka、RabbitMQ 和 RocketMQ 是常见的消息队列,在处理消息顺序性、消息丢失、消息重复、消息积压和延迟消息处理等问题上,各有其特点和方法。
Kafka
- 消息顺序性保证:Kafka 中每个分区内的消息是有序的。将同一业务下的消息设置相同的 key,这些消息就会被发送到同一个分区,从而保证顺序消费。
- 避免消息丢失
- 生产者

最低0.47元/天 解锁文章
172万+

被折叠的 条评论
为什么被折叠?



