数据写入kafka的分区策略

众所周知,kafka有分区的概念,生产者写入数据到kafka,涉及到数据到底写到哪个分区?
kafka api提供了默认的partitioner函数,具体策略如下:
1、如果生产者写入数据时,指定了具体分区,则使用该分区
2、如果生产者没有指定分区,但是提供了key,partitioner函数会对该key取hash再对topic数量取模以确定分区
3、如果生产者既没有指定分区,也没有提供key,则采用round-robin的方式选取分区

项目中用到filebeat采集数据到kafka,如果filebeat配置文件中配置了round-robin,下游在消费数据时,打印record.key可以发现key=null,每条数据到分区也不一样

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 我们在使用 Apache Kafka 生产和消费消息的时候,肯定是希望能够将数据均匀地分配到所有服务器上。比如很多...
    taj3991阅读 6,401评论 1 6
  • 大致可以通过上述情况进行排除 1.kafka服务器问题 查看日志是否有报错,网络访问问题等。 2. kafka p...
    生活的探路者阅读 12,224评论 0 10
  • 我们在使用 Apache Kafka 生产和消费消息的时候,肯定是希望能够将数据均匀地分配到所有服务器上。比如很多...
    Splunker阅读 1,696评论 0 0
  • 前言 kafka具有,高吞吐量、数据可持久化、易扩张、消费端维护等特点。kafka以topic进行数据分类,每个t...
    热血趁年华阅读 2,206评论 0 0
  • 本章我们将会讨论Kafka生产者是如何发送消息到Kafka的。Kafka项目有一个生产者客户端,我们可以通过这个客...
    zwb_jianshu阅读 3,283评论 0 0