1 rabbitmq
1.1 rabbitmq顺序会错乱的场景
一个queue,但是有多个consumer

1.2 如何保证消息的顺序性
需要保证消息消费顺序性的数据,写到一个queue中,并只让一个消费者进行消费

2 kafka
2.1 kafka顺序会错乱的场景
kafka本身是不会发生消息顺序错乱
kafka一个patition只有一个消费者消费
加了同一个key的消息,只会进入同一个patition中
顺序错乱发生的情况:消费者内部调用多线程,可能会导致顺序错乱的产生

2.2 如何保证消息的顺序性
使用内存队列,将需要保证顺序的数据,即key相同的数据放到一个内存队列中进行处理,几十ms的处理效率,可以使用多线程进行提高效率。

消息队列顺序性保证
本文探讨了在RabbitMQ和Kafka中消息顺序可能错乱的场景,并提供了确保消息顺序性的解决方案。对于RabbitMQ,通过单一消费者消费队列来保持顺序;而对于Kafka,虽然其本身不会错乱,但在多线程环境下可能出现问题,建议使用内存队列处理相同key的数据。
172万+

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



