1启动类没有添加@EnableFeignClients 注解
2client 请求方式不一致,比如消费方定义为POST,服务方定位为GET
3接口返回参数未定义,比如定位返回结果为ResponseEntity,feign 无法识别,需要定义完整的返回类型,比如ResponseEntity<String>
使用zuul网关做服务映射的时候,部署了3个相同service 端口分别是:8769 8770 8771 当我们断掉8769服务的时候,ribbon按理说会认定8769断掉了,从而后面的请求不会再命中8769这个服务端口。然而并不是想的那样,还是一样会命中失败的服务。直接跳坑了~
做集群映射离不开eureka,以上三个服务都注册在eureka,当8769断掉后,eureka自身有心跳检测,默认是15分钟,如果服务在15分钟内没有响应则认定该服务出现故障,即下线该服务。在这期间ribbon把请求还是一样会均衡各个集群节点,因为它获取节点是否正常是通过eureka中心得到的,所以eureka如果没有下线服务,那么ribbon会一直认为该服务在线。那么这种情况怎么处理呢?
在eureka项目yml 设置eurekaserverenableSelfPreservation = false 关闭自我保护机制
在service项目yml 设置 eurekainstanceleaseRenewalIntervalInSeconds = 5
leaseExpirationDurationInSeconds = 10
以上就是关于spring cloud feign 调用返回结果为null 的原因全部的内容,包括:spring cloud feign 调用返回结果为null 的原因、用springcloud zuul ribbon集群服务的时候遇到的坑、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)