赞
踩
kafka拦截器:Kafka 拦截器可以应用于包括客户端监控、端到端系统性能检测、消息审计等多种功能在内的场景。
Kafka 拦截器分为生产者拦截器和消费者拦截器。
生产者拦截器在发送消息前以及消息提交成功后植入你的拦截器逻辑;而消费者拦截器支持在消费消息前以及提交位移后编写特定逻辑。这两种拦截器都支持链的方式,将一组拦截器串连成一个大的拦截器,Kafka 会按照添加顺序依次执行拦截器逻辑。
生产者实现拦截器只需要实现ProducerInterceptor 接口。
onSend:该方法会在消息发送之前被调用。
onAcknowledgement:该方法会在消息成功提交或发送失败之后被调用。onAcknowledgement 的调用要早于 callback 的调用。onAcknowledgement 方法和 onSend 不是在同一个线程中被调用的,因此如果在这两个方法中调用了某个共享可变对象,要保证线程安全。还有一点很重要,这个方法处在 Producer 发送的主路径中,所以最好别放一些太重的逻辑进去,否则会导致 Producer TPS 直线下降。
消费者实现拦截器只需要实现ConsumerInterceptor 接口。
onConsume:该方法在消息返回给 Consumer 程序之前调用。
onCommit:Consumer 在提交位移之后调用该方法。通常可以在该方法中做一些记账类的动作,比如打日志等。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。