Java面试题

题目

kafka 分布式的情况下,怎么保证消息的顺序消费?

答案

kafka 的分布式单位是 partition,同一个 partition 中的数据可以保证 FIFO。不同的 partition 之间不能保证顺序。每个partition 只能够有一个消费者消费。因为在发送数据的时候,绝大多数用户都可以通过 message key 来定义,同一个 key 的 message 都会发送到同一个 partition 上面,所以一般不会有问题。