拦截器原理
Producer 拦截器(interceptor)是在 Kafka 0.10 版本被引入的,主要用于实现 clients 端的定制化控制逻辑。
对于 producer 而言,interceptor 使得用户在消息发送前以及 producer 回调逻辑前有机会对消息做一些定制化需求,比如修改消息等。同时,producer 允许用户指定多个 interceptor按序作用于同一条消息从而形成一个拦截链(interceptor chain)。
拦截器案例
需求:
实现一个简单的双 interceptor 组成的拦截链。
第一个interceptor 会在消息发送前将时间戳信息加到消息 value 的最前部;
第二个interceptor 会在消息发送后更新成功发送消息数或失败发送消息数。