【问题标题】:What would be the best self preservation time parameter configuration for Eureka server for 12 Microservices and 2 instance for each Microservice对于 12 个微服务和每个微服务 2 个实例,Eureka 服务器的最佳自我保存时间参数配置是什么
【发布时间】:2022-01-10 05:59:47
【问题描述】:

我在 AWS(Kubernetes + Docker 映像)上部署了 12 个微服务,包括 1 个 Eureka 服务器和 1 个 API 网关,但我面临着微服务经常出现注册注销问题的问题,微服务计数 12 在 Eureka 服务器上不是恒定的仪表板,有时会显示 10,有时会显示 7,然后在每次页面刷新后再次显示 12。

由于这种行为,我在 API 网关收到 转发错误,原因是 Load Balancer 不适用于客户端......

同样在 Eureka 服务器仪表板上,它显示在错误下方

紧急情况! EUREKA 可能不正确地声称实例已启动,但实际上并未启动。续订少于阈值,因此为了安全起见,实例不会过期。

我有下面的自我保护配置,看起来有问题,请你帮我解决这个问题。

eureka.server.eviction-internal-timer-in-ms=15000
eureka.instane.leaseRenewalIntervalInSeconds=30
eureka.instance.leaseExpirationDurationInSeconds=90
eureka.renewalPercentThreshold=0.85

还使用如下的一些 hystrix 属性 -

hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds=30000000
ribbon.ReadTimeout=3000000
ribbon.ConnectTimeout=1000000
zuul.host.socket-timeout-millis=1000000

【问题讨论】:

    标签: java spring-boot microservices netflix-eureka netflix-zuul


    【解决方案1】:

    在K8s环境中,实例开启自我保护后不会被删除。结果,一些请求连接到不存在的实例

    可以尝试禁用它: eureka.server.enableSelfPreservation=false

    【讨论】:

    • 如果我们禁用自我保存模式,那么我们将错过来自 Eureka 实例的心跳以重新注册实例,以防 AWS 或 MS 出现任何网络问题等情况。
    猜你喜欢
    • 2016-01-28
    • 2020-11-03
    • 1970-01-01
    • 2018-09-28
    • 2020-10-31
    • 1970-01-01
    • 2018-07-16
    • 2021-06-11
    • 1970-01-01
    相关资源
    最近更新 更多