Kafka中的分区器、序列化器、拦截器的处理顺序是什么

参考答案

处理顺序:拦截器 -> 序列化器 -> 分区器。

Producer拦截器(interceptor)是在 Kafka 0.10 版本被引入的,主要用于实现 clients 端的定制化控制逻辑。Producer 允许用户指定多个interceptor按序作用于同一条消息,从而形成一个拦截链(interceptor chain)。

Intercetpor的实现接口是org.apache.kafka.clients.producer.ProducerInterceptor。实现下面四个方法:

  • configure (configs) :获取配置信息和初始化数据时调用。
  • onSend (ProducerRecord) :用户可以在该方法中对消息做任何操作,但最好保证不要修改消息所属的topic和分区,否则会影响目标分区的计算。
  • onAcknowledgement (RecordMetadata, Exception) :该方法会在消息被应答或消息发送失败时调用。
  • close:关闭 interceptor ,主要用于执行一些资源清理工作。

 

以上,是 Kafka 面试题【Kafka中的分区器、序列化器、拦截器的处理顺序是什么】的参考答案。

输出,是最好的学习方法

欢迎在评论区留下你的问题、笔记或知识点补充~

—end—

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧