阿里二面:你在MQ中是如何保证消息顺序性的 ?
啊阿左:
多个消费者想要顺序处理就有很大问题,所以开篇就说要一个消费端。
如果多个消费端,很可能出现消息1还没处理到关键逻辑,但机器卡顿。这时候消息2却被消费端正常处理。不可控因素就太多了,而且保障机制也极其复杂。
HideintheBush:
通过hashkey指定发到某个的队列, 在消费者端配置单线程消费 就顺序了
【回复】回复 @泪子泪子 : rockertMQ, 集群下只会有一个消费者消费某一个队列
【回复】消费端是多台机器的集群
我就是大橘:
如果有消费端部署多个服务,即使先收到消息也不能保证能先完成消费[doge]这样又得维护一套保证顺序消费的代码,就很烦[笑哭]
枫之箴言:
既然用消息队列就别想着有序 想有序就别用消息队列 纯属自找麻烦
记忆中的永恒:
问题是queue的数量可能会发生变化 , 比如broker宕机,扩容啥的。都会导致hash完结果不一样。
科技猎手 科技 MQ面试题 消息队列面试 消息队列面试题 如何保证消息顺序性 消息顺序性 面试 计算机技术 java