概述
1) hash取模计算法 在发送数据的时候需要传递 key 和 value .默认根据key的hash
2) 粘性分区(2.4版本下: 轮询方案 )
当生产者去发送数据时候, 一般都是采用批量的发送方案, 当发送一批数据到broker端后 首先会先随机选择其中一个分片, 然后尽可能粘住这个分片, 将这一批数据全部交给这一个分片
老版本轮询方案:
当生产者去发送数据时候, 一般都是采用批量的发送方案, 当发送一批数据到broker端后, 根据分片的数量, 将一批数据切分为多个小的批次, 一个批次对应一个分片, 然后写入到topic的各个分片上
粘性分区好处: 减少中间这个切分的方案, 直接将一批全部写入给某一个分片即可 同时也会减少了中间ack响应的次数 从而来提升效率
3) 指定给某一个分片: 在发生数据的时候, 可以设置定制的分区编号, 来实现
4) 自定义分发策略:
4.1) 创建一个类, 实现 Partitioner接口,
4.2) 重写其接口中方法: partition(主要的方法) close
4.3) 将自定义的分区类 配置到生产者的配置对象中
最后
以上就是迷路火车为你收集整理的kafka 生产者的数据分发策略有几种的全部内容,希望文章能够帮你解决kafka 生产者的数据分发策略有几种所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复