生产者分区写入策略
1、轮询策略:按照消息尽量保证每个分区的负载,消息会均匀分布到每个partition。写入消息的时候,key为null的时候,默认使用的是轮询策略。
2、随机策略:不使用。
3、按key写入策略:key.hash()%分区的数量。
4、自定义分区策略:类似于mapReduce指定分区。
乱序问题:
- 在Kafka中生产者是有写入策略,如果topic有多个分区,就会将数据分散到不同的partition中存储。
- 当partition数量大于1的时候,数据(消息)会打散分布到不同的partition中。
- 如果只有一个分区,消息是有序的。
欢迎批评指正,提出问题,谢谢!