1 rabbitmq
1.1 rabbitmq顺序会错乱的场景
一个queue,但是有多个consumer
1.2 如何保证消息的顺序性
需要保证消息消费顺序性的数据,写到一个queue中,并只让一个消费者进行消费
2 kafka
2.1 kafka顺序会错乱的场景
kafka本身是不会发生消息顺序错乱
kafka一个patition只有一个消费者消费
加了同一个key的消息,只会进入同一个patition中
顺序错乱发生的情况:消费者内部调用多线程,可能会导致顺序错乱的产生
2.2 如何保证消息的顺序性
使用内存队列,将需要保证顺序的数据,即key相同的数据放到一个内存队列中进行处理,几十ms的处理效率,可以使用多线程进行提高效率。