面试题
如何保证消息的顺序性?
面试官心里分析
其实这个也是用MQ的时候必问的问题,第一看看你了不了解顺序这个事?第二看看你有没有办法保证消息的是有序的?这个生产系统中常见的问题。
先看看顺序会错乱的场景
rabbitMQ:一个queue多个consumer,这不明显乱了
本来插入数据库的顺序是 数据1 数据2 数据3 现在变成了 数据2 数据1 数据3
那如何保证消息的顺序性呢?
rabbitMQ:拆分多个queue,每个queue一个consumer,就是多一些queue而已,确实是麻烦点,或者就一个queue但是对应一个consumer,然后这个consumer内部使用内存队列做排队,然后分发给底层不同的worker来处理