kafka默认消息分片路由规则

 发一个消息,如何知道消息被默认分片到哪里

1.如果没有指定key,是随机分片

2.如果指定了key,即  new KeyedMessage<String, String>(String topic, String key, String message)

 

可以套用一下公式计算:

          key.hashCode() % 12

 

例如有一个topic 叫test,有8个patition,key="1",则日志文件在

        "1".hashCode() % 8=1

在 *****/log/test-1/    目录下面

 

ref: https://www.iteye.com/blog/dashiliu-2416073

posted @ 2021-10-26 09:15  cknds  阅读(496)  评论(0编辑  收藏  举报