今天遇到两位三方人员跟我反馈,某微服务的异步接口功能不正常了,由于该异步接口采用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()后就不能订阅了),目前还不知道确定的原因。

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

最新文章

  1. 用MySQL语法建 一个学生表,包括学生姓名、性别、年龄、班级信息。
  2. [python]初探socket
  3. C 记录
  4. jQuery在IE浏览器上的html()报错 return !noData || noData !== true && elem.getAttribute("classid") === noData;
  5. discuz之搭建
  6. iOS--iOS7摄像头识别二维码功能
  7. [Python]获取子线程异常信息
  8. php 连接mysql数据库以及增删改查
  9. linux 进程间通信的3种高级方式及优缺点
  10. C语言的指针的基本语法
  11. FFmpeg部署及相关指令操作说明
  12. SQLserver提示事务日志已满无法重建索引,前台提示日志已满处理方案
  13. Node.js的内存问题
  14. mssql sqlserver存储过程专题
  15. 从零开始一起学习SLAM | 给点云加个滤网
  16. .NET手记-HttpClient解析GB2312乱码问题
  17. Eigen中的map
  18. centos7 安装网卡
  19. poll 从应用层到内核实现解析
  20. Linux内存管理和应用

热门文章

  1. mysql --->mysql 外键总结
  2. 三、Linux系统中的文件类型和文件扩展名
  3. 16、ISDN
  4. 如何快速打好Java基础?
  5. Codeforces_729_E
  6. android studio闪退的原因
  7. learn about sqlserver partitition and partition table 1
  8. 《Head first设计模式》之策略模式
  9. javascript 动态加载javascript文件
  10. Idea自定义代码块【学习笔记】