微服务是大型架构核心,下面我详解微服务部署无损下线@mikechen
微服务部署
在微服务架构下,服务需要频繁发布、升级或下线。

所谓“无损下线”,指在下线过程中不丢失用户请求。
不产生错误或数据不一致,并尽量不影响整体系统可用性。
实现无损下线应从架构设计、流量控制、状态管理和监控告警四个方面协同推进。
如何实现“无损下线”
在微服务体系中,“无损下线”的目标只有一个:
实例下线或发布过程中,不丢请求、不报错、不影响正在处理的业务流量。
这不是单点技术,而是流量层 + 应用层 + 基础设施层的协同设计问题。

拆成 4 个阶段:
发布开始 ↓ 实例收到 SIGTERM ↓ 注册中心摘除实例 ↓ LB 停止分发新请求 ↓ 应用停止接新请求 ↓ 等待正在处理的请求完成 ↓ 进程优雅退出
标记实例为不可用(不再接新流量);
负载均衡层摘除流量,适用于:Nginx / SLB / Ingress;
应用层优雅关闭(Graceful Shutdown),以 Spring Boot 为例(生产必配):
server:
shutdown: graceful
spring:
lifecycle:
timeout-per-shutdown-phase: 30s
停止接收新请求;
等待正在处理的请求完成;
超时才强制终止;
进程真正退出,拒绝新请求返回 503,或快速失败(Fail Fast)。
mikechen睿哥
10年+一线大厂架构实战经验,操盘多个亿级大厂核心项目,就职于阿里、淘宝等一线大厂。