摘要: 上一节结尾,我们总结道: 初始化KafkaProducer时并没有去拉取元数据,但是创建了Selector组件,启动了Sender线程,select阻塞等待请求响应。由于还没有发送任何请求,所以初始化时并没有去真正拉取元数据。 真正拉取元数据是在第一次send方法调用时,会唤醒唤醒Selector之 阅读全文
posted @ 2021-10-06 09:37 _繁茂 阅读(212) 评论(0) 推荐(0) 编辑
摘要: 上一节我们分析了Producer的核心组件,我们得到了一张关键的组件图。你还记得么? 简单概括下上面的图就是: 创建了Metadata组件,内部通过Cluster维护元数据 初始化了发送消息的内存缓冲器RecordAccumulator 创建了NetworkClient,内部最重要的是创建了NIO的 阅读全文
posted @ 2021-10-06 08:28 _繁茂 阅读(316) 评论(0) 推荐(0) 编辑
摘要: 上一节我们主要从HelloWorld开始,分析了Kafka Producer的创建,重点分析了如何解析生产者配置的源码原理。 public KafkaProducer(Properties properties) { this(new ProducerConfig(properties), null 阅读全文
posted @ 2021-10-06 07:26 _繁茂 阅读(236) 评论(0) 推荐(0) 编辑