容器化后无损上下线解决方案
说明: 本文主要以 Spring Cloud 应用举例
1. 背景
绝大数事故发生在应用上下线发布阶段,所以要尽可能避免发布过程中由于应用自身代码问题对用户造成的影响。
业界发布规范:
- 可灰度(可以通过 Argo Rollout/OpenKruise 支持)
- 可观测(容器状态、容器速查大盘、发布/配置变更/K8s 事件、业务日志/业务埋点、jstack/jvm/gc、链路,主要是通过指标、事件、日志、链路几大类进行收集分析,后续可观测性会介绍具体方案及关键指标收集/汇聚/展示)
- 可回滚(应用维度的快照回滚)