访问微服务接口,每次都卡10秒钟

Blade 未结 2 715
elvis
elvis 剑圣 2022-11-01 09:05
悬赏:10

一、该问题的重现步骤是什么?

1.  启动微服务,访问微服务接口;

2.  Auth、User、System微服务接口阶段性卡10秒钟才响应;

3.  有时候没有问题,但有时候又出现。


二、你期待的结果是什么?实际看到的又是什么?

期待微服务接口即时响应,实际阶段性地卡10秒钟。


三、你正在使用的是什么产品,什么版本?在什么操作系统上?

BladeX,3.0.1, CentOS Linux release 8.4.2105


四、请提供详细的错误堆栈信息,这很重要。

没有log,微服务获取到访问后,在 Request End 这个地方卡10秒钟。

image.png

五、若有更多详细信息,请在下面提供。

image.pngimage.png

2条回答
  • 2022-11-01 19:49

    请问是只有token接口才有这个问题,还是说全系列的接口都有这个问题?

    如果是token接口才有,可以做一个简单的排查,把一些有可能影响的代码块暂时注释。比如feign调用的模块,可以先注释掉,然后再看看调用多次后的结果如何。

    如果feign注释后速度一直很快,则说明找到了原因,然后再开启feign,把对应服务的feign实现类继续注释代码,直到找到原因。


    这种情况一般是网络问题,我们正常部署的时候,token接口只有第一次cloud初始化的时候才会慢,之后都是很快的。所以需要用排除法进行查找问题所在。

    0 讨论(0)
  • 2022-11-02 00:06

    找到原因了,token接口调用了user的feign,而有一个user的微服务是在内网的,访问超时。怀疑feign调用没有经过gateway,gateway的路由策略没有生效所致。有办法让feign访问经过当前gateway吗?


    ----------------------

    后续:用了version的灰度发布,感觉有效。

    作者追问:2022-11-07 13:08

    Gateway会调用他注册在nacos环境内的所有可匹配到的服务,这种情况用灰度发布或者把内网注册的服务下线就可以了

    0 讨论(0)
提交回复