架构图
kafka-producer.png拦截器(ProducerInterceptor)
过滤
修改
统计
序列化器
将对象的状态信息转换为可以存储或传输的形式
- Flat Buffers: 原理类似Protocol Buffers且同样由Google开源
- Apache Avro: 非自描述Hadoop生态的序列化实现
- Apache Thrift: 非自描述由Facebook开源
- protostuff: 基于Protocol Buffers的自描述实现 只支持Java且个人维护社区较小
分区器
为消息分配分区(partition)
消息累加器
Deque<ProducerBatch>
缓存消息,提升性能
InFlightRequests
Map<NodeId, Deque>
缓存了已经发出去但还没有收到响应的请求
ACK
判断消息是否发送成功
0:发送即为成功
1:对应分区收到
ALL:对应分区收到,并且分区副本收到罗盘
网友评论