springCloud每次请求网关特定接口需等待特定时间才会接收到请求问题

问题描述:

在公司一个springcCoud项目中,一共部署了三个环境,分别是开发,测试和正式环境,其中开发环境搭建在公司服务器上,其他两个环境在客户服务器上。最早出现问题是测试环境本地服务,出现请求token接口每次都要10秒才会返回结果,但是单独请求服务却不会出现这个情况。后续线上服务也出现了这个情况,所以不得不解决,进行了排查。

排查问题:

首先测试环境出现问题的时候,是在测试环境的本地服务,这里需要介绍下整体的项目架构,这个项目一共分为三层,分别为 本地端(微服务,springcloud+nacos+gatway+rabbitmq+mysql+redis,环境网络虚拟机 centos7) 前置服务(springboot单体项目,环境网络虚拟机 centos7),互联网端(微服务,springcloud+nacos+gatway+mysql+redis,环境网络虚拟机 centos7)。
访问顺序是第三方都会访问前置服务,再由前置服务分发请求本地或者互联网,当然也有本地请求互联网,互联网请求本地的情况,但是都会通过前置服务,所以前置服务是中枢。

  1. 因为最开始只是客户反应,接口请求返回缓慢,有些达到了30s秒,有些又很快,所以我们最开始怀疑的是否是网络出现问题,经过运维排查,发现域名访问确实很慢,还以为找到了问题,就是域名问题,谁知道,使用ip+端口访问还是慢,也有20s的样子。这个时候还是揪着客户网络问题,让客户排查网络问题,因为在开发环境没有这个问题,当时只考虑是环境问题。直到对方运维拿出网络请求时间对比图,才发现网络没有问题,ip+端口访问正常,是本地服务本身慢。如下
    在这里插入图片描述
    在这里插入图片描述
    2.问题定位到本地微服务上,没有办法只能是排查,但是我查看日志发现问题看不出来,日志太少了,只能悲催加日志。日志查询出来发现是前置服务,请求本地服务,获取token时耗费10s,而且是每次都会耗费10s很规律。所以这就有问题,继续加日
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值