Kafka序列化器、分区器、拦截器、消息累加器
发布时间
阅读量:
阅读量
目录
- 拦截组件
- 数据序列化模块
- 分区分配机制
- 消息缓存结构
整个Kafka生产者客户端由两个线程协同运作。这两个线程分别为执行线程与发送线程。执行线程的功能在于:由KafkaProducer生成数据内容,随后经过可能存在的拦截组件、数据序列化模块以及分区分配机制的处理后,将数据暂存至消息缓存结构中。发送线程的功能则在于:负责将消息缓存结构中的数据传输至Kafka系统内部。
拦截器
拦截器作为Kafka0.10.0.0版本中新增的功能模块,该系统共提供了两类拦截器,分别为生产者拦截器与消费者拦截器。
生产者拦截器
该类拦截器主要应用于消息发送前的处理阶段,可用于执行诸如依据特定规则筛选不符合条件的信息、对消息内容进行调整等操作,并且还能在发送回调逻辑执行之前完成一些个性化需求。此外,该拦截器的实现方式较为简便,只需自定义实现org.apache.kafka.clients.producer.ProducerInterceptor接口即可。该接口内部定义了三个方法:
//producer会在消息序列化器,分区器之前调用拦截器的onSend()方法来对消息进行定制化操作。
public ProducerRecord<K, V> onSend(ProducerRecord<K, V> re
全部评论 (0)
还没有任何评论哟~
