0%

kafka客户端流程分析

生产者

初始化

发送消息

  • 拉取元数据

    sender线程拉取,主线程等待(使用version和上一次版本号进行比较,来等待sender线程唤醒或者时间超时)

    RecordAccumulator缓存区有一个对象batches,存在多个队列,每个队列代表一个分区

sender线程
NetWorkClient Selector KafkaChannel NIO
kafka发消息只会发送到leader partition