kafka 分布式(不是单机)的情况下,如何保证消息的顺序消费?


Kafka 分布式的单位是 partition,同一个 partition 用一个 write ahead log 组织

所以可以保证 FIFO 的顺序不同 partition 之间不能保证顺序但是绝大多数用 

户都可以通过 message key 来定义因为同一个 key  message 可以保证只发 

送到同一个 partition。

Kafka 中发送 1 条消息的时候可以指定(topic, partition, key) 3 个参数

partiton  key 是可选的如果你指定了 partition,那就是所有消息发往同 1

 partition,就是有序的并且在消费端,Kafka 保证,1  partition 只能被 

1  consumer 消费或者你指定 key(比如 order id),具有同 1  key  

所有消息会发往同 1  partition。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM