Damnatiox
DOCUMENT / published

项目三:云原生高可用服务平台

项目三:云原生高可用服务平台 把前两个项目部署到 Kubernetes,加入渐进发布、OpenTelemetry、SLO、安全供应链和故障演练,形成生产级交付证据。 1. 本文覆盖范围 Kubernetes 与资源治理 CI/CD 与迁移 可观测/SLO/值班 安全与灾难恢复 2. 核心知识详解 1. 平台部署 使用不可变签名镜像、Deployment/Stateful 依赖、Service/Gateway、Secret、Network

项目阶梯 2026/8/244 分钟阅读
# Java# Java 后端# 项目阶梯

项目三:云原生高可用服务平台

把前两个项目部署到 Kubernetes,加入渐进发布、OpenTelemetry、SLO、安全供应链和故障演练,形成生产级交付证据。

1. 本文覆盖范围

  • Kubernetes 与资源治理
  • CI/CD 与迁移
  • 可观测/SLO/值班
  • 安全与灾难恢复

2. 核心知识详解

1. 平台部署

使用不可变签名镜像、Deployment/Stateful 依赖、Service/Gateway、Secret、NetworkPolicy 和 autoscaling。

  • 多可用区分布。
  • requests/limits 和连接预算。
  • 探针与优雅停机。

正确性边界: 副本数增加不等于高可用,下游、控制面和故障域仍需设计。

2. 发布和数据

流水线 build once,自动测试扫描,canary 按 SLI 晋级;数据库使用 expand/contract,事件 schema 兼容。

  • 制品可追溯。
  • 发布有回滚/前向修复。
  • 迁移可暂停和重入。

正确性边界: 镜像回滚不能撤销 schema 和外部副作用。

3. SRE 闭环

OTel 收集日志、指标和 trace,SLO/error budget 驱动告警与发布;runbook、演练和复盘改进系统。

  • 业务与技术 SLI。
  • 多窗口 burn-rate。
  • 事故角色和时间线。

正确性边界: 仪表盘多不代表可运营,关键是用户导向目标和可行动告警。

4. 安全与恢复

OIDC、最小权限、secret rotation、SBOM/签名、备份恢复和跨区域策略构成纵深防护。

  • 定期恢复演练验证 RPO/RTO。
  • 审计不可由业务管理员篡改。
  • 依赖漏洞和密钥泄露有流程。

正确性边界: 有备份文件不等于可恢复,必须执行恢复和数据一致性验证。

3. 工程链路

flowchart LR G["Git"] --> CI["Test/Scan/Build/Sign"] CI --> REG["Registry"] REG --> K["Kubernetes Canary"] K --> O["OTel/SLO"] O -->|门禁| K K --> DR["Backup/Restore/Runbook"]

4. 最小可运行示例

下面的示例只保留关键路径。把它放入对应版本的最小工程,先运行测试或命令确认行为,再逐步加入重试、超时、监控和异常分支。

java
public sealed interface Command permits CreateOrder {} public record CreateOrder(UUID requestId, long customerId) implements Command {} public interface CommandHandler<C extends Command, R> { R handle(C command); }

5. 实践与验证

  1. 用 IaC/manifest 从空环境部署。
  2. 执行 canary 自动回滚和兼容迁移。
  3. 演练节点故障、密钥轮换和数据库恢复并记录 RTO/RPO。

6. 掌握检查

  • 环境可重建。
  • 发布可渐进和停止。
  • SLO 可行动。
  • 恢复经过实际验证。

参考资料