gpt4 book ai didi

spring-cloud - Spring Eureka : gently shutdown a service

转载 作者:行者123 更新时间:2023-12-04 12:48:53 25 4
gpt4 key购买 nike

我有服务 A,即使用服务 B1 和 B2(同一服务的两个实例),全部通过 Eureka 配置。

现在我想把 B1 轻轻放下(这样 A 在处理失败的 B1 请求时就没有问题/延迟)。我想有这样的程序:

  • 告诉 B1 停止 ping Eureka
  • 让 Eureka 传播消息,B1 正在下降
  • 等到 A 得到信息并且不再使用 B1
  • 然后关闭B1

  • 我在第 1 步遇到问题。如何请求 B1 停止 ping?寻找一些 JMX 操作但没有找到。

    (如果我跳过步骤1,直接从Eureka DELETE B1,它会从注册表中删除,但它会很快更新,因为B1仍在ping Eureka)

    最佳答案

    如果添加 cloud-starteractuator对您项目的依赖

    <dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter</artifactId>
    </dependency>

    <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>

    您将拥有许多管理端点(由 actuator 提供)。 POST/pause将导致状态为 DOWN在 Eureka (感谢 cloud-starter)。当 eureka 客户端收到状态时,Ribbon 不会将任何请求路由到您的 DOWN服务。发帖到 /shutdown将优雅地停止应用程序。

    关于spring-cloud - Spring Eureka : gently shutdown a service,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33231664/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com