§ 00概述
服务拆多了,新的问题变成「秩序」:几十个服务互相调用,谁依赖谁?一个服务变慢,怎么五分钟内定位到具体环节?流量翻倍,熔断和限流在哪一层生效?本章的微服务体系,回答的正是这些规模化之后的秩序问题。
微服务不是「拆得更碎」,而是一套治理能力的完备集:注册发现让服务互相找到彼此,熔断限流让故障止于局部,链路追踪让调用链透明,统一网关与 CI/CD 让发布有序。数据集给出每个组件的选型、基线指标与落地顺序。
§ 01演进定位
服务数量超过 10 个后,手工管理的边际成本急剧上升:地址写死在配置里、依赖关系没人说得清、一次变更的影响面靠「老员工记忆」评估。治理体系把这些从隐性知识变成显性基础设施。
微服务的四个支柱缺一不可:注册发现(动态寻址)、容错治理(熔断/限流/降级)、可观测性(链路/日志/指标三件套)、交付体系(统一网关 + CI/CD)。少一个,规模化都会在某次故障中把学费补回来。
与 08 章的关系:08 章按业务域垂直切开并独立了数据,本章在域内与跨域补齐治理层。顺序颠倒(先治理后拆分)常见于「服务已失控」的团队——也成立,但两章的痛点顺序决定投入节奏。
§ 02技术架构
注册发现:Nacos/Consul/云服务注册中心,服务上下线自动注册与摘除,配置中心(同生态)集中管理配置并支持灰度发布——配置变更从此有审计、可回滚。
容错治理:调用方默认带超时(连接/读双超时)与有限重试(仅幂等接口),熔断器在错误率超阈值时快速失败保护下游;限流在网关层(全局)与服务层(自保护)两级设置,降级预案(返回缓存/默认值)与限流一一配套。
可观测性:traceId 从网关生成贯穿全链路,日志、指标、链路三件套按 traceId 关联;核心看板是「黄金四指标」——延迟、流量、错误、饱和度,按服务维度下钻到接口维度。
交付体系:统一网关对外收敛 API(鉴权、限流、版本管理),CI/CD 流水线标准化(构建-测试-镜像-灰度-发布),发布默认金丝雀:5% 流量观察核心指标再全量。
§ 03实施路径
第一阶段(2 周)可观测先行:traceId 规范落地、日志与指标三件套接入、黄金四指标看板上线。治理之前先能看见——这一步的回报立竿见影。
第二阶段(2 周)注册与容错:注册中心与配置中心接入,服务逐个迁移(旧地址兼容期 2 周),超时/重试/熔断默认值全局下发,网关统一接入与灰度能力就绪。
第三阶段(2-3 周)交付标准化:CI/CD 流水线模板化,全部服务按模板接入,金丝雀发布成为默认,应急预案(熔断开关、降级开关)演练入常规。总周期 6-7 周,随服务数量弹性。
§ 04客户价值与适用判断
该上:服务 > 10 个、排障靠人肉串联日志、发布需要排队协调、任一服务的故障曾放大成全站事故。
不该上:服务少而稳定、团队 < 10 人。微服务治理的固定成本不低(注册、网关、链路、流水线),小规模用「约定 + 脚本」更经济。
节奏提醒:治理组件可以逐个引入,但可观测性必须第一个。先上熔断再看不见链路,等于在黑屋里装防盗门。
§ D01组件与选型清单
DATA微服务架构 · 标准组件栈治理四支柱
| 层级 | 组件 | 选型建议 | 职责与要点 |
|---|
| 注册发现 | Nacos / 云注册中心 | 集群部署 | 服务动态注册摘除,地址永不写死 |
| 配置中心 | Nacos Config / 云配置 | 灰度发布 + 审计 | 配置集中化、变更可回滚、敏感项加密 |
| 容错治理 | Sentinel / Resilience4j | 默认值全局下发 | 超时/重试/熔断/降级四件套,按接口细化 |
| API 网关 | 云网关 / Kong / APISIX | 双节点起 | 统一入口:鉴权、限流、版本、灰度分流 |
| 链路追踪 | SkyWalking / OTel | traceId 全链路 | 调用拓扑与耗时瀑布,采样率按流量定 |
| 日志指标 | Loki/Prometheus 或云托管 | 按 traceId 关联 | 黄金四指标看板,服务/接口两级下钻 |
| CI/CD | 流水线模板化 | 构建-测试-镜像-灰度 | 金丝雀默认化,发布记录与制品可追溯 |
选型倾向「一体化生态」(如 Nacos 全家桶)或「云托管」二选一,避免每个组件都选最强的然后自己拼运维。
§ D02成本测算数据集
DATA成本测算示例(治理层增量 · 月度)月度 · CNY
| 项目 | 规格 | 月成本 | 说明 |
|---|
| 注册/配置中心 | Nacos 3 节点 2C4G | ≈ ¥390 | 或选云托管按实例计费 |
| 链路追踪 | SkyWalking 2C8G + ES 复用 | ≈ ¥260 | 存储复用 07 章 ES 集群 |
| API 网关 | 2C8G × 2 主备 | ≈ ¥520 | 或云网关按调用量 |
| 日志指标栈 | Loki + Prometheus 2C8G | ≈ ¥260 | 小规模单机高可用起步 |
| CI/CD | Runner 2 台 4C8G | ≈ ¥520 | 构建资源弹性可砍 |
增量合计 ≈ ¥1,950/月 · 服务规模化治理的基础设施
治理层成本与服务数量弱相关(平台型投入),服务越多摊得越薄;10 个服务以内可用云托管轻量方案砍半。
§ D03关键指标基准
DATA可用性与体验基线SLO 参考
| 指标 | 08 章基线 | 本阶段目标 | 行业良好 |
|---|
| 跨服务排障时长 | > 2 小时(人肉串联) | < 15 分钟(traceId) | < 5 分钟(自动拓扑) |
| 链路追踪覆盖率 | — | 100% 核心链路 | 全量 + 动态采样 |
| 故障爆炸半径 | 单域 | 熔断隔离 · 单服务 | 自动降级用户无感 |
| 发布方式 | 按域滚动 | 金丝雀 5% → 全量 | 自动化 + 自动回滚 |
| 部署频率 | 周级 | 日级任意服务独立发布 | 按需(日多次) |
§ D04演进触发信号
DATA什么时候必须走向下一阶段任一命中即评估
| 触发信号 | 判定阈值 | 演进方向 |
|---|
| 环境不一致频发 | 「本地好的」类问题月度出现 | 容器化统一交付(10) |
| 资源利用率低下 | 服务独占 VM 峰值 CPU < 15% | 容器混部(10) |
| 扩缩容响应慢 | 扩容需人工 > 30 分钟 | K8s HPA 弹性(10) |
| 部署脚本碎片化 | 每服务一套部署工艺 | 容器镜像标准化(10) |
| 治理平台自身不稳 | 注册/配置中心单点化 | 平台组件集群化(本章) |
§ D05上线检查清单
traceId 贯穿网关生成、全服务透传、日志/指标/链路三件套可按 traceId 关联
容错默认值全局化超时/重试/熔断参数中心化下发,禁止服务各自为政
降级开关演练每个核心服务的降级预案真实演练,开关一拉业务无损
金丝雀默认化新版本默认 5% 灰度,核心指标自动对比基线
配置变更审计配置中心改动有记录、可回滚、敏感项加密存储
服务目录与依赖图服务清单、负责人、依赖关系实时可查
§ D06高频翻车点
可观测性后置先上治理后补链路,排障黑洞期造成的损失远超组件成本
重试风暴非幂等接口默认重试,一次抖动放大成三倍流量压垮下游
熔断参数拍脑袋阈值不经过压测,要么频繁误熔断要么形同虚设
网关单点与瓶颈网关单节点部署或转发逻辑里塞业务代码
发布之后不看指标金丝雀只走形式,核心指标无人值守,灰度沦为手动全量
§ D07常见问答
DATA微服务架构 · 问答数据集4 组
| 问题 | 答案 |
|---|
| 服务治理和 K8s 重复吗? | 部分重叠:K8s 自带服务发现与健康检查。选择是「K8s 承载基础设施层治理 + 应用层保留熔断限流」,或纯应用层治理栈。不要两套发现机制并存。 |
| 熔断和限流先上哪个? | 限流先行:入口限流保护自己,出口限流保护下游,实现简单收益直接;熔断依赖调用数据积累,可在限流稳定后细化。 |
| 链路追踪的性能开销大吗? | 主流方案(OTel/SkyWalking)在合理采样率(10%-30%)下开销 < 3%。核心链路 100% 采样、长尾按概率采样,是成本与可见性的平衡点。 |
| 治理组件要不要用云托管? | 优先级建议:注册/配置中心与日志指标托管化最划算(运维重、无差异化价值),网关与链路若有定制需求可自托管。托管不等于失控,SLA 和审计都在。 |
§ D8角色分工数据集
DATA角色分工数据集本阶段人员配置
| 角色 | 核心职责 | 投入度 | 备注 |
|---|
| 平台工程 | 注册/配置中心 · 网关 · 流水线 | 100% | 治理平台所有者 |
| 各服务 Owner | 容错参数 · 降级预案 · 指标质量 | 60% | 所有权落实到人 |
| SRE | 链路体系 · 告警质量 · 演练 | 80% | 黄金四指标看门人 |
| QA | 契约测试 · 回归门禁 | 40% | 自动化优先 |
§ D9风险登记册
DATA风险登记册概率 × 影响
| 风险 | 概率 | 影响 | 缓解措施 |
|---|
| 重试风暴放大故障 | 中 | 致命 | 仅幂等接口可重试 + 重试预算全局上限 |
| 熔断阈值拍脑袋 | 高 | 严重 | 压测校准 + 灰度期观察修正 |
| 可观测性后置成黑洞 | 中 | 致命 | 可观测性必须第一个落地(铁律) |
| 治理平台自身单点 | 低 | 致命 | 注册/配置中心集群化 + 客户端缓存兜底 |
§ D10监控告警清单
DATA监控告警清单阈值即责任
| 监控对象 | 指标 | 告警阈值 | 响应动作 |
|---|
| 服务 | 错误率 | > 1% | 电话 · 服务 Owner 响应 |
| 链路 | 追踪覆盖率 | < 95% | 工单 · 埋点补齐 |
| 熔断 | 触发次数 | 突增 | 工单 · 下游健康排查 |
| 配置 | 未走中心的变更 | 发现即报 | 复盘 · 权限收敛 |
| 发布 | 回滚率 | > 20% | 复盘 · 发布质量专项 |
§ D12实施时间线
DATA实施时间线周为单位
| 周次 | 里程碑 | 责任角色 | 出口物 |
|---|
| W1-2 | 可观测先行 | SRE + 全员 | traceId 贯穿 · 黄金四指标看板 |
| W3-4 | 注册与容错 | 平台 + Owner | 服务逐个迁移 · 默认参数下发 |
| W5-6 | 网关与灰度 | 平台 | 统一入口 · 金丝雀流程就绪 |
| W7 | 演练验收 | 全员 | 降级开关演练 · 预案归档 |
§ D13SLA 与容灾基线
DATASLA 与容灾基线对内承诺
| 指标 | 基线承诺 | 度量方式 | 未达标处置 |
|---|
| 核心链路可用性 | 99.95% | 链路统计 | 降级预案补齐 |
| 排障时长 | < 15 分钟 | 事件复盘计时 | 链路与告警增强 |
| 熔断误动作 | < 1 次/月 | 熔断日志 | 阈值再校准 |
| 告警有效率 | > 80% | 告警处置记录 | 阈值与收敛治理 |
§ D14应急预案
DATA应急预案一页纸预案
| 故障场景 | 典型现象 | 处置步骤 | 升级路径 |
|---|
| 下游服务雪崩 | 超时风暴传导 | ① 手动熔断 ② 降级返回默认值 ③ 下游恢复后逐步放量 | 核心链路 → P1 全员 |
| 注册中心不可用 | 服务发现失败 | ① 客户端缓存兜底 ② 恢复集群 ③ 校验注册一致性 | 平台级故障 → 平台组 P1 |
| 网关故障 | 入口异常 | ① 主备切换 ② 旁路直连预案 ③ 根因修复 | 入口全挂 → 立即公告 |
| 配置错误发布 | 批量行为异常 | ① 配置回滚 ② 审计变更 ③ 灰度流程复盘 | 资损 → 冻结发布周 |
§ D15首年成本明细
DATA首年成本明细CNY
| 项目 | 月成本 | 年成本 | 备注 |
|---|
| 注册/配置中心 3 节点 | ≈ ¥390 | ≈ ¥4,680 | Nacos 集群 |
| 链路追踪 | ≈ ¥260 | ≈ ¥3,120 | 存储复用 ES |
| API 网关 × 2 | ≈ ¥520 | ≈ ¥6,240 | 主备 |
| 日志指标栈 + Runner | ≈ ¥780 | ≈ ¥9,360 | Loki/Prom + CI |
首年增量 ≈ ¥23,400。治理是平台型投入,服务越多摊得越薄,10 个服务以内可托管化砍半。
§ D16团队能力要求
DATA团队能力要求按需补齐
| 能力项 | 要求级别 | 如何补齐 |
|---|
| 可观测性工程 | 必须 | traceId 全链路实战 |
| 容错治理 | 必须 | 压测校准 + 降级演练 |
| CI/CD 工程 | 必须 | 流水线模板化改造 |
| SRE 方法 | 建议 | 演练轮值 + 复盘文化 |
§ D17关键决策速查(ADR)
DATA关键决策速查(ADR)本阶段 4 个决策
| 决策 | 备选方案 | 结论理由 |
|---|
| 首个治理组件 | 熔断 vs 可观测性 | 可观测性必须第一个 |
| 注册中心 | 自建 vs 云托管 | 10 服务内托管化优先 |
| 网关选型 | Kong vs APISIX vs 云网关 | 插件生态与团队栈匹配 |
| 重试策略 | 全接口重试 vs 仅幂等 | 仅幂等:防重试风暴 |
§ D18高频面试题
DATA高频面试题本阶段 4 题
| 问题 | 考察点 | 优秀回答特征 |
|---|
| 可观测性为什么先行? | 治理哲学 | 黑屋装防盗门的类比 + 事故案例 |
| 熔断阈值怎么定? | 工程方法 | 压测校准 + 灰度修正闭环 |
| 重试风暴怎么防? | 容错设计 | 幂等标记 + 重试预算 |
| 服务目录怎么维护? | 治理机制 | 负责人/依赖图有自动化巡检 |
§ D19命令与操作速查
DATA命令与操作速查治理专项
| 场景 | 命令/操作 | 说明 |
|---|
| 链路检索 | 按 traceId 查全链 | 排障第一入口 |
| 熔断状态 | 控制台看断路器 | 误熔断与真故障区分 |
| 配置回滚 | 配置中心历史版本 | 先回滚再排查 |
| 发布对比 | 金丝雀 vs 基线指标 | 核心指标自动对比 |
§ D20采购与商务要点
DATA采购与商务要点本阶段采购项
| 采购项 | 询价要点 | 商务注意 |
|---|
| 注册/配置托管 | 实例规格与 SLA | 出口审计能力 |
| 链路存储 | 复用 ES 的容量规划 | 采样率决定存储成本 |
| CI Runner | 按量弹性 vs 包年 | 构建峰谷差异大 |
§ D21阶段 KPI 卡
DATA阶段 KPI 卡验收口径
| KPI | 口径 | 目标 |
|---|
| 排障时长 | 事件复盘计时 | < 15 分钟 |
| 链路覆盖 | 核心链路采样 | 100% |
| 告警有效率 | 处置记录分析 | ≥ 80% |
| 回滚率 | 发布统计 | < 20% |
§ D22交接清单
DATA交接清单换人不换知识
| 交接项 | 载体 | 验收 |
|---|
| 服务目录与依赖图 | 治理平台 | 信息自动同步 |
| 降级开关清单 | 配置中心 | 每开关有演练记录 |
| 流水线模板 | CI 配置库 | 新服务按模板接入 |
| 告警规则台账 | 监控平台 | 规则 Owner 落到人 |
§ D23演进检查点评审
DATA演进检查点评审走向 10 章前
| 检查项 | 达标标准 | 结果 |
|---|
| 链路覆盖达标 | 核心链路 100% 有 trace | 通过/不通过 |
| 降级演练 | 每个核心服务演练通过 | 通过/不通过 |
| 金丝雀默认化 | 新版本默认灰度流程生效 | 通过/不通过 |
| 容器友好预检 | 无状态/日志/配置四项初检 | 通过/不通过 |