场景:A服务暴露一个接口getUser(),封装在AClient中,以Feign微服务形式提供给B服务调用,却一直报“ **** fallback got invoked ”错误
分析:A、B2个服务各自的自身服务都能正常,相互调用时,通过微服务Feign,同时报错的“ **** fallback got invoked ”提示,显示被熔断了,而熔断是Hystrix按超时规则执行的,难道是数据不存在?
进而分析A服务,发现数据没问题。那是哪儿呢?
我们来捋下调用链:
由于B服务要经过网络通信打到A服务,是网络问题?测试了下A服务其他接口,正常。
突然发现,A服务提供的Client中,getUser方法的路径与A服务中的不一致,原来是找不到方法所致!
解决:修改Client中的getUser路径,与A服务保持一致,解决。