kafka - 保序

kafka,一个topic通常会有多个partion。单个的partion是保序的,那么多个partion呢?

要想在多个partion情况下实现保序,在send消息的时候,ProducerRecord中一定要指定key。

根据key指定partitions:
DefaultPartitioner中源码:
return Utils.toPositive(Utils.murmur2(keyBytes)) % numPartitions;

partion保序了,剩下的就是消费者保序,一定要采用单线程进行消费。

posted @ 2019-05-20 23:17  惊艳了时光  阅读(736)  评论(0)    收藏  举报