Kafka消费者没有收到通知的分析

Posted bien94

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Kafka消费者没有收到通知的分析相关的知识,希望对你有一定的参考价值。

  今天遇到两位三方人员跟我反馈,某微服务的异步接口功能不正常了,由于该异步接口采用Kafka异步消息的方案,对方说没有收到Kafka给消费者的通知,根据此问题,联系了相关人员进行了分析:

  (一)明确环境是否一致

  1、生产者和消费者链接Kafka的地址是否一致,初步发现A方消费者链接Kafka的地址不正确,没有与生产者链接Kafka的地址保持一致。

  2、topic和key是否都一致,初步可以确定A方消费的topic和key都是跟生产者的topic和key是一一对应的。

  (二)生产者和Kafka之间的交互

  通过生产者的日志分析,已成功将消息发生给Kafka了,并且在Kafka端也明确是接收到了次消息,所以说生产者和Kafka之间的交互是没有问题的,流程正常。

  (三)Kafka和消费者之间的交互

  1、A方消费者矫正链接Kafka的地址后进行测试,表明是可以正常接收到,到此A方消费者的问题得到了处理,就是地址不正确造成的;

  2、B方消费者暂时还没有接收到通知,经Kafka方的确认,B方消费者没有在生产者提供的topic下进行订阅,并且B方消费者在启动时也没有看到该topic的日志信息,因此Kafka方先让B方消费者修改一下topic信息和key信息,在代码中写死;B方消费者修改后进行测试,表明是可以正常接收到消息了,并且在Kafka那里也看到该topic下有B方消费者的订阅了,到此B方消费者的问题也到了处理,就是topic和key不正确造成的。

  3、后来又听B方说是bean注入的问题,指定了指定了@Qualifier()后就不能订阅了,去掉@Autowired,在构造器中new一个对象,测试正常了。

 

  小结:在遇到这类问题时一定要检查自身的代码,配置信息是否正常,否则这样的分析和定位都是在浪费大家的时间。

以上是关于Kafka消费者没有收到通知的分析的主要内容,如果未能解决你的问题,请参考以下文章

Kafka Consumer 在 Spring Boot 中没有收到消息

源码分析zookeeper在kafka的作用

Kafka 消费者偏移超出范围,没有为分区配置重置策略

Kafka 消费者应该在生产者之前启动吗?

kafka-python 消费者未收到消息

获取kafka消息处理时间