spring cloud gateway k8s优雅启停

博客介绍了通过配置readiness探针和preStop hook,在K8s中实现优雅启动和停止(滚动部署)。包括K8s工作负载配置和网关改造,经测试可达成请求0失败。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

通过配置readiness探针和preStop hook,实现优雅启动和停止(滚动部署)

1. k8s工作负载配置

          readinessProbe:
            httpGet:
              path: /datetime
              port: 8080
              scheme: HTTP
            initialDelaySeconds: 30
            timeoutSeconds: 1
            periodSeconds: 30
            successThreshold: 1
            failureThreshold: 6
          lifecycle:
            preStop:
              exec:
                command:
                  - /bin/sh
                  - '-c'
                  - sleep 15s

2. 网关改造

@SpringBootApplication
public class GracefulShutdownApplication {

	public static void main(String[] args) {
		SpringApplication.run(GracefulShutdownApplication.class, args);
	}

	@Bean
	public GracefulShutdown gracefulShutdown() {
		return new GracefulShutdown();
	}
}
public class GracefulShutdown implements ApplicationListener<ContextClosedEvent> {
    @Override
    public void onApplicationEvent(ContextClosedEvent contextClosedEvent) {
        HttpResources.disposeLoopsAndConnectionsLater().delaySubscription(Duration.ofSeconds(20)).block();
    }
}

经过测试发现,可以实现请求0失败

Spring Cloud Kubernetes(简称为Spring Cloud k8s)是一个用于在Kubernetes上构建分布式系统的开发工具包。它提供了一组用于在Spring Boot应用程序中集成Kubernetes的功能,以便更轻松地在Kubernetes环境中部署和管理应用程序。 Spring Cloud k8s提供了以下主要功能: 1. 服务注册和发现:通过与Kubernetes的服务发现机制集成,可以自动注册和发现应用程序的服务实例。 2. 配置管理:可以使用Kubernetes ConfigMap和Secret来管理应用程序的配置信息,并通过Spring Cloud Config将其注入到应用程序中。 3. 负载均衡:通过与Kubernetes的服务发现机制集成,可以实现基于服务名称的负载均衡。 4. 断路器:可以使用Spring Cloud Circuit Breaker来实现断路器模式,以保护应用程序免受故障和延迟的影响。 5. 熔断器:可以使用Spring Cloud Hystrix来实现熔断器模式,以防止故障的扩散。 6. 限流:可以使用Spring Cloud Gateway来实现请求限流,以保护应用程序免受过多请求的影响。 7. 链路追踪:可以使用Spring Cloud Sleuth来实现分布式链路追踪,以便跟踪请求在不同微服务之间的流转。 8. 服务网关:可以使用Spring Cloud Gateway来实现API网关,以便对外暴露和保护微服务。 9. 配置中心:可以使用Spring Cloud Config来集中管理应用程序的配置信息,并实现配置的动态刷新。 10. 服务监控:可以使用Spring Boot Actuator来监控应用程序的运行状态,并提供健康检查、指标收集等功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值