微服务间的调用

 一、使用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 @ 2023-03-14 00:43  湘summer  阅读(76)  评论(0编辑  收藏  举报