当前位置: 首页 > 知识库问答 >
问题:

带有Zuul和Eureka的Spring Cloud无法处理关闭的服务实例

陶山
2023-03-14
    null

这个设置工作良好,但麻烦开始时,我开始玩的缩放服务。当我放大时,Zuul会在30秒后拿起新的服务器。我没意见。但是,当我取下服务容器时,对Zuul的调用可能会失败(HTTP错误代码200!)因为Zuul仍然认为服务器在活动池中。

我使用的是Spring Boot 1.3.6和Spring Cloud 1.1.2

我的问题:

    null

共有1个答案

娄学文
2023-03-14

您不必通知zuul服务器列表的更改,就像它在下面所做的那样。真正的问题是eureka决定将这些实例保留在其注册表中。有一个规则:如果少于85%的服务响应healthcheck,那么eureka认为这是由于网络故障/分区造成的,并将所有服务保留在Registry中。例如,如果您的服务只有3个实例,就很可能发生这种情况。可以想象,如果一个关闭(所有3个实例中的33.3%)eureka会忽略它,并且仍然为客户端提供这个实例。

如果你有100台服务器,这将是一个不错的功能:)它的netflix工具主要针对他们的需求进行了调整。

您可以尝试关闭自我保护:

eureka.server.enable-self-preservation=false
eureka.server.renewal-percent-threshold=0.85
 类似资料:
  • 我正在尝试使用以下Zuul自动配置(Spring Boot)将Zuul配置为Eureka: 但是,当通过Zuul打电话给客户服务得到以下例外: 我用网络控制台检查了客户服务的尤里卡,我发现一个客户服务的实例在那里注册正确。 有人能帮我知道出了什么问题吗?

  • 我有一个简单的spring引导的微服务(用户服务)和一个spring引导的网关服务(网关-服务器),使用Zuul设置到Eureka服务器(发现服务)注册。向用户-服务发送请求直接起作用,并且所有服务都成功地注册到eureka服务器。当我向网关服务器发送请求时,我会得到一个转发错误,原因是“com.netflix.client.clientException:Load balancer没有用于客户端

  • iam使用spring boot gateway与eureka服务器,但当我试图从gateway访问某个api时,它不使用gateway路由的路径,而是使用服务名 但如果我将“book”替换为“books”(服务名),它就会起作用

  • 我有一个相当简单的Spring CloudNetflix设置。我们使用Zuul作为反向代理,Eureka用于服务发现和注册。我们有我们正在慢慢窒息的遗留服务。我们有许多简单的服务,其endpoint配置如下: 因此,现在当每个服务都在eureka注册并随后向Zuul添加路由时,zuul终结点如下所示: 我想阻止Zuul将前缀从eureka服务的路由URI中剥离,以便我的Zuulendpoint如下

  • 我只有很少的spring boot微服务,它们是通过云环境部署到JBoss的。这些引导服务是在Eureka服务器中注册自己的Eureka客户端。下面是一个例子: 它用user-regn-service-app Eureka主页的名称向Eureka注册应用程序 wildfly服务器在8080处运行,而user-regn-service-app部署在上下文路径/user-regn-service-ap

  • 本文向大家介绍SpringCloud网关组件zuul实例解析,包括了SpringCloud网关组件zuul实例解析的使用技巧和注意事项,需要的朋友参考一下 1.引入如下依赖 2.启动类添加如下注解 @EnableZuulProxy 原先访问商品服务如下: 通过网关访问:将访问地址改为网关地址,并添加商品服务的服务名称如下: 即完成统一完成由网关进行发送 同时可以在启动类中添加自定义路由映射 这样就