1. 混沌工程与平台工程概述

1.1 混沌工程定义

混沌工程(Chaos Engineering)是一门在分布式系统上进行实验的学科,旨在通过主动注入故障来验证系统的韧性(Resilience)与容错能力。其核心并非“制造混乱”,而是通过受控的实验,在系统进入生产环境前或运行过程中,发现潜在的薄弱环节。

核心原则: 混沌工程遵循“实验-观测-改进”的闭环,强调以科学方法验证系统假设,而非随机破坏。
维度 说明
实验对象 分布式系统、微服务、基础设施、网络链路
注入手段 CPU 满载、网络延迟、节点宕机、磁盘故障、依赖超时
观测指标 请求成功率、P99 延迟、错误率、系统吞吐量
输出成果 系统韧性报告、故障模式库、自动化恢复策略

1.2 平台工程定义

平台工程(Platform Engineering)专注于设计和构建一套自服务的内部开发者平台(IDP),通过抽象底层基础设施的复杂性,为开发团队提供一致、安全、高效的交付路径。其目标是提升开发者体验(DX),加速软件交付,同时确保合规与治理。

  • 抽象层: 屏蔽 Kubernetes、网络、存储等底层细节。
  • 黄金路径: 提供标准化的 CI/CD、环境管理、可观测性接入。
  • 治理与安全: 内置策略引擎、访问控制、成本管理。
  • 自服务: 开发者通过 API 或 UI 自助申请资源、部署服务。

1.3 两者关系:平台工程与混沌工程的协同

平台工程提供了“稳定的跑道”,而混沌工程则是“跑道上的压力测试”。两者并非孤立存在,而是形成一种“构建-验证-加固”的共生关系。

平台工程与混沌工程协同关系图 平台工程 (IDP) 抽象基础设施 提供黄金路径 内置可观测性 混沌工程 主动注入故障 验证系统韧性 发现薄弱环节 反馈与加固闭环 故障模式 → 平台加固 → 基线更新 → 再次验证 平台提供实验环境与观测能力,混沌工程输出韧性改进项反哺平台建设

1.4 基线核验的重要性

基线核验(Baseline Verification)是连接混沌实验与平台工程治理的关键环节。它定义了系统在“正常状态”下的行为标准,作为混沌实验的参照系。没有基线,混沌实验的结果将失去对比依据,无法判断系统是否“变差”或“变好”。

基线核验的核心价值: 将混沌实验从“定性分析”升级为“定量度量”,为平台工程的 SLO 治理提供数据支撑。
场景 无基线核验 有基线核验
故障注入后 凭经验判断系统是否异常 对比基线指标,精确量化偏差
平台版本升级 需要全量回归测试 仅需验证基线指标是否退化
告警阈值设置 依赖运维人员经验 基于基线数据自动计算动态阈值
混沌实验准入 无明确停止条件 基线偏差超过阈值时自动熔断实验

1.5 基线核验在接口调用规范中的角色

在平台工程体系下,所有服务间的通信都通过标准化的 API 接口进行。基线核验需要下沉到接口层面,形成可编程、可自动化的校验规则。这要求接口调用规范必须包含:

  • 响应时间基线: 接口在无故障时的 P50/P95/P99 延迟分布。
  • 错误率基线: 接口在正常负载下的 HTTP 4xx/5xx 比例。
  • 吞吐量基线: 接口在稳态下的最大支撑 QPS。
  • 依赖拓扑基线: 接口调用链路的完整性与依赖关系快照。
接口基线核验在混沌实验中的位置 阶段1 采集接口基线 阶段2 执行混沌实验 阶段3 实时对比基线 阶段4 决策 偏差在阈值内 → 通过 偏差超阈值 → 熔断并告警 接口基线核验是混沌实验的“裁判员”,决定实验是否通过、是否需要触发自动回滚
常见误区: 基线核验不是一次性工作。随着平台版本迭代、业务流量模型变化,基线数据必须定期更新。建议将基线采集纳入平台的 CI/CD 流水线,每次发布后自动触发基线重校验。