访问后端服务 报错504 问题记录

博客讲述了服务出现504错误的问题排查过程,从域名解析到集群网络检查,最后发现是后端服务由于MQTT数据突然增多导致数据库连接池耗尽,进而引发服务请求超时。解决方案包括增加服务副本、监控系统升级及数据库监控,通过设置多个副本减轻单台服务压力,并避免问题再次发生。
摘要由CSDN通过智能技术生成

**

1.问题现象

**
服务运行在集群中,早上起来客户反应登录没有反应,调用接口报错504
在这里插入图片描述

2.解决步骤

2.1 排查服务域名解析是否出问题,

nslookup 域名
在这里插入图片描述

内网进去其它pod进去,解析正确
外网直接找个虚机解析域名成功
排除域名解析错误问题

2.2 查看是否集群网络出问题

kubectl get pod -A -o wide 可以展示所有pod 所在集群ip
在这里插入图片描述
ping pod所在集群ip
返回值正确,说明集群内部网络没有问题
进入容器内
访问后端服务运行端口
(1)curl IP+PORT
(2)wget IP+PORT

解决方案

发现端口没有响应,于是猜测可能后端服务本身出错了,出于安全考虑。
可以先多开一个副本,这时候发现后端服务恢复正常,原本报错副本还在可以直接删除进行重启,其实情况比较紧急情况下可以直接重启,保留这个副本是方便后面去朔源为什么会系统出错。
后面查看系统日志发现凌晨是MQTT服务数据突然增多,数据库连接池一直爆满,后面又产生锁表情况,导致服务请求数据库一直在等待,等待超时,最终504
针对这种情况,后面部署了Promethus监控,特地对应用服务做了jvm监控还有数据库的监控,下次如果再出现这种情况比较好判断,同样应用服务也开设了3个副本,这样很大程度上缓解了单台的压力,观察了半个月也没有复现这个问题。
大概就这样子啦。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值