前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >生产环境消费kafka消息异常问题分析

生产环境消费kafka消息异常问题分析

原创
作者头像
maxcorry
修改2023-11-08 16:42:26
2200
修改2023-11-08 16:42:26
举报

问题描述:

某个客户在针对生产环境中,对ECIF数据库同步改造为使用kafka进行数据同步后,测试环境也偶尔发生消费数据存在空的问题,当时以为是调度系统间隔太慢,导致数据没有读取到,但是在上线之后,生产存在同样的问题,无法消费消息数据;

问题分析:

1.由于问题比较突然,对于kafka的问题分析需要结合消费端和生产端以及服务节点同时分析。

2.首先经过现场运维得知,kafka的集群环境并不是新搭建的,之前就一直正常使用,只是给本次业务系统上线增加了一个新的topic,然后对接消费端和服务端;

3.所以大概率排除了由于环境搭建引起的问题,本身运维对开发会涉及的问题也不太清楚,所以尽可能少的牵扯到运维的过程问题是有必要的;

4.由于问题的现象是业务系统作为消费端,无法拿到服务节点中的数据,所以需要证明,队列中是否存在数据;

5.使用命令(以下命令,需要运维检查理财对应的队列中数据的情况,将地址换成具体的生产IP和端口)

kafka-consumer-groups.sh --bootstrap-server XXX.XXX.XXX.XXX:9092 --describe --group defaultConsumerGroup

来查看消息的情况:

对应业务获取topic下的消息堆积情况
对应业务获取topic下的消息堆积情况

6.通过运维查找结果,看到队列中存在消息堆积的都是和理财相关的节点,此时问题基本上是消费端的概率比较大。

7.这个问题比较棘手的是,生产上不能随意进行分析和调试,好在测试环境有可以复现这个问题的情况。

8.所以需要紧急在测试环境进行问题复现,然后进行可能出现的问题进行分析。

9.由于代码中使用的是kafka的架构,调用客户端的接口进行连接和数据的消费获取,如果想了解这个过程中,具体的运行流程,通常我们需要看是否有相关的日志.

10.但是由于开发过程中单元测试没有问题,可以正常获取消息,基本上没有打印出kafka架构下的相关日志。

11.所以需要针对kafka框架层输出详细日志,修改配置文件(日志级别为all):

修改日志级别
修改日志级别

12.协助现场开发增加以上的kafka架构层的日志输出,进行详细的问题分析:

消费接收请求received耗时比对
消费接收请求received耗时比对

13.通过详细的日志大致分析,怀疑存在消费过程中,客户端发送请求到服务端获取信息,接收到应答的时间比较长,中间相差了十多秒,所以明显是服务端反馈应答时间非常长;

trace跟踪框架日志分析
trace跟踪框架日志分析

14.通过以上日志,初步怀疑在客户端获取相关的集群信息过程中,存在相对缓慢的情况,并且在开发代码的过程中,发现代码中有相关的超时时间的设置:

代码中的超时时间设置为3秒
代码中的超时时间设置为3秒

15.由于此配置time时间是3秒,明显要比上面日志中的间隔时间要小的多,所以可能是由于环境本身的问题,这个过程需要的时间目前是大于配置超时时间的,所以让现场开发将时间配置到30秒,再进行测试。

16.通过调整超时时间变大后,发现这问题消失了,从而可以得知,这个问题就是这个超时时间太小,导致在获取集群信息过程还没正确应答消息,客户端的调用就超时结束了后续的读取动作。

17.总结,以上问题是借助了详细的框架日志分析出了具体的交互过程,从而排查出问题出在服务端处理慢,导致超时无法拿到后续的应答数据做处理;

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 问题描述:
  • 问题分析:
相关产品与服务
Elasticsearch Service
腾讯云 Elasticsearch Service(ES)是云端全托管海量数据检索分析服务,拥有高性能自研内核,集成X-Pack。ES 支持通过自治索引、存算分离、集群巡检等特性轻松管理集群,也支持免运维、自动弹性、按需使用的 Serverless 模式。使用 ES 您可以高效构建信息检索、日志分析、运维监控等服务,它独特的向量检索还可助您构建基于语义、图像的AI深度应用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档