Kafka 保证消息的顺序性 发表于 2020-01-26 更新于 2021-05-06 分类于 Kafka Kafka 只能保证分区级别的消息顺序性。 要实现全局性的消息顺序性,我们或者只定义一个分区,或者通过指定消息的 key,从而将 key 值相同的消息都路由到同一个分区。并且每个分区对应的消费者组里应该只有一个消费者。 同时,我们应该关闭位移自动提交,改为位移手动提交,即设置 enable.auto.commit = false。 不过这样做的话,吞吐量又可能过低,我们可以在消费端内部用内存队列做排队,然后分发给底层不同的 worker 来处理。这样又可能会存在消息丢失。 小礼物走一走,来 Github 关注我 打赏 微信支付 支付宝