美文网首页SpringCloudSpringCloud
用springcloud zuul ribbon集群服务的时候遇

用springcloud zuul ribbon集群服务的时候遇

作者: 大馬猴 | 来源:发表于2018-12-14 14:24 被阅读50次

    使用zuul网关做服务映射的时候,部署了3个相同service   端口分别是:8769 8770 8771  当我们断掉8769服务的时候,ribbon按理说会认定8769断掉了,从而后面的请求不会再命中8769这个服务端口。然而并不是想的那样,还是一样会命中失败的服务。直接跳坑了~

    做集群映射离不开eureka,以上三个服务都注册在eureka,当8769断掉后,eureka自身有心跳检测,默认是15分钟,如果服务在15分钟内没有响应则认定该服务出现故障,即下线该服务。在这期间ribbon把请求还是一样会均衡各个集群节点,因为它获取节点是否正常是通过eureka中心得到的,所以eureka如果没有下线服务,那么ribbon会一直认为该服务在线。那么这种情况怎么处理呢?

    在eureka项目yml 设置eureka.server.enableSelfPreservation = false  关闭自我保护机制

    在service项目yml  设置 eureka.instance.leaseRenewalIntervalInSeconds = 5 

                                                                    leaseExpirationDurationInSeconds = 10

    相关文章

      网友评论

        本文标题:用springcloud zuul ribbon集群服务的时候遇

        本文链接:https://www.haomeiwen.com/subject/tehghqtx.html