spring cloud feign 调用返回结果为null 的原因

spring cloud feign 调用返回结果为null 的原因,第1张

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集群服务的时候遇到的坑、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9328286.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存