Advertisement

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)

还没有任何评论哟~