3、kafka初始化核心流程
2022-05-04 10:52:55 13 举报
AI智能生成
kafka源码-初始化核心流程
作者其他创作
大纲/内容
metrics
partitioner分区器
interceptors拦截器
Metadata元数据
构造参数
retry.backoff.ms,重试间隔时间100ms
metadata.max.age.ms元数据最大生存时间,隔多久拉取,五分钟
topicExpiryEnabled,topic过期开关
clusterResourceListeners监听器,当metadata更新时通知
主要成员
refreshBackoffMs
metadataExpireMs
version
lastRefreshMs
lastSuccessfulRefreshMs
cluster
主要成员
nodes
PartitionInfo对象
主要成员
topic
partition
leader
replicas
inSyncReplicas
unauthorizedTopics
partitionsByTopicPartition
partitionsByTopic
availablePartitionsByTopic
partitionsByNode
nodesById
needUpdate
topics
RecordAccumulator,缓存
构造参数
batchSize,批次大小,默认16K
totalSize总大小,默认32M
compression压缩类型
lingerMs,在这个时间内批次不满,也要发送
retryBackoffMs,重试间隔时间
尝试更新元数据,meta.update()
NetworkClient网络管理
参数
selector,网络io
metadata,元数据
clientId,客户端id
max.in.flight.requests.per.connection,这个参数很重要,每个链接允许最大的丢失的数据的个数,默认5
reconnect.backoff.ms,重新连接的间隔时间
send.buffer.bytes socket发送数据的缓冲区大小,默认128k
receive.buffer.bytes 接收数据的缓冲区大小,默认32k
timeout.ms,发送超时时间,默认30s
time,生产者创建时间
Sender线程
参数
metadata
accumulator
guaranteeMessageOrder 有序性保障,max.in.flight.requests.per.connection是否等于1
max.request.size最大发送批次大小,1M,生产可能需要调大
acks 0 发送后直接返回,不管成功还是失败,无返回值,容易丢数据;1 写入leader partition之后返回,也可能丢数据;-1 写入到leader 且同步到所有的follower分区,才返回响应 不丢数据
retries重试次数,默认0
requestTimeoutMs 超时时间 30s
0 条评论
下一页