Kafka3.0.0版本

您所在的位置:网站首页 kafka生产者源码解析 Kafka3.0.0版本

Kafka3.0.0版本

#Kafka3.0.0版本| 来源: 网络整理| 查看: 265

外部数据发送到kafka集群

在这里插入图片描述

首先创建一个main线程,然后调用Sender方法,经过Interceptors拦截器、Serializer序列化器、Partitioner分区器 在这里插入图片描述

通过Partitioner分区器,把数据放到RecordAccumulator双端队列(一个分区会创建一个队列),RecordAccumulator双端队列默认大小32m,每一批次大小16k 在这里插入图片描述

只有数据积累到batch大小之后,sender才会发送数据。默认16k;如果数据迟迟未达到batch.size,sender等待linger设置的时间到了之后就会发送数据。单位ms,默认值是0ms,表示没有延迟。 在这里插入图片描述

Sender线程不断从 RecordAccumulator 中拉取消息,以每一个节点broker为key,后面追加数据放到一个队列中,往broker中发送数据,发送到kafka集群后,kafka集群有一个副本机制。 在这里插入图片描述

kafka集群接收到数据后,有一个应答机制。

标识 含义 0 生产者发送过来的数据,不需要等数据落盘应答。 1 生产者发送过来的数据,Leader收到数据后应答。 -1(all) 生产者发送过来的数据,Leader和ISR队列里面的所有节点收齐数据后应答。-1和all等价。

在这里插入图片描述

如果成功,清理掉RecordAccumulator双端队列中的数据。 在这里插入图片描述

如果失败,进行retries重试,重试次数为int的最大值。 在这里插入图片描述



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3