外围组件
1.ProducerInterceptors 拦截器
2.Sender 发送线程
3.Cluster 集群信息(结点、主题、分区)
4.ProducerMetadata 生产者元数据
5.RecordAccumulator 音讯缓冲累加器
6.Serializer 序列化器
7.Partitioner 分区器
send()产生音讯流程
1.ProducerInterceptors拦挡音讯,调用onSend()办法
2.调用doSend(),真正开始产生音讯流程
3.waitOnMetadata,发送音讯前确保主题分区元数据可用
4.调用Serializer对key和value序列化
5.调用Partitioner进行分区路由抉择(哈希/轮询/粘性)
6.调用RecordAccumulator将音讯放到缓冲区中队列的RecordBatch中
7.唤醒Sender线程,从缓冲区拉取音讯,将数据发送到网络中去