美文网首页
如何保证消息的顺序性

如何保证消息的顺序性

作者: 七月_JulyFY | 来源:发表于2019-08-24 00:47 被阅读0次

RabbitMQ

RabbitMQ 消息顺序错乱的场景:数据 1、2、3 按顺序发到一个 queue,多个消费者消费同一个 queue

拆分为多个 queue,每个 queue 由一个 consumer 消费;

或者就一个 queue 但是对应一个 consumer,然后这个 consumer 内部用内存队列做排队,然后分发给底层不同的 worker 来处理

Kafka

1 个 topic,3 个 partition,3 个 consumer,每个消费者消费一个 partition,需要保证顺序的消息都放入同一个 partiton,但是如果一个消费者开启多个线程来处理,还是无法保证消息的顺序性。

解决办法:每个消费者内部设置多个内存队列,对消息的 key 做 hash,将需要保证顺序的消息映射到同一个内存队列中,每个线程负责处理一个内存队列

相关文章

网友评论

      本文标题:如何保证消息的顺序性

      本文链接:https://www.haomeiwen.com/subject/tvxosctx.html