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/    目录下面

相关推荐