微服务间的调用

 一、使用OpenFeign:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

出现错误:

com.netflix.hystrix.exception.HystrixRuntimeException: xxxFeign#xxxx timed-out and no fallback.....

原因:服务调用连续几次失败,超过设定的超时时间,getAllList()接口返回信息是500,实际上userFeign.findById()接口是404。

解决:试了很多种方法,比如按照网上设定feign或者hystris超时时间更长、在@FeignClient()中设置path参数。。。都没用。

最后自己调试了几次,测试了很多次接口,用户信息的服务接口也一切正常,换了RestTemplate方法也不行,这就很怪异。

后面发现我的服务提供者UserController那边id参数是在path上的,即..../user/findById/{id},然后我调用feign的时候是直接传参过去的,

 

好开心,终于发现了不一样,然后换了一种方法,

 

 

 然而并没有什么用,还是一样的错误,后来发现,我应该用服务的真实路径,因为我设置了网关,所有请求localhost:8000/help...的

都会转到localhost:18090/...上,即用户信息那个微服务,但是是要原始地址,即直接使用localhost:18090/

 

 

 成功!!

 

 

注:

 

posted @   湘summer  阅读(81)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
点击右上角即可分享
微信分享提示