治理的最小可执行单位
“加强架构治理”是一句正确但无法执行的话。把它拆到可以执行,至少要回答五个问题:
- 谁:哪个角色发起、哪个角色审批、哪个角色执行、哪个角色复核;
- 什么状态:这件事在哪个状态机里流转,当前状态允许哪些动作;
- 阈值:什么条件下允许、什么条件下阻断、什么条件下升级;
- 证据:做完之后留下什么记录,事后凭什么判断它对不对;
- 回滚:做错了怎么退回去,退回哪一步,谁来确认。
卷四的每一节,都尽量把这五项写全。写不全的地方,会明确说“这里只能靠约定,暂时没有系统强制”。
五个贯穿全卷的可运行夹具
和前几卷一样,卷四的代码不是示例片段,而是可以单独跑测试的小包。它们分布在 .local/checks/gsarch-lab 中,按章节组织:
| 夹具 | 章节 | 它把什么决策写成了代码 |
|---|---|---|
platformcontract | 1.1 | 平台能力清单、SLA 与变更窗口的校验 |
liveopsconfig | 2.1 | 活动时间窗、互斥与奖励表的上线前校验 |
gmrbac | 3.1 | 动作级权限、双人复核与临时授权过期 |
risksignal | 4.1 | 信号聚合、评分、观察期与误伤回滚 |
obscontract | 5.1 | 观测字段契约、采样决策与链路拼装 |
slodefinition | 6.1 | SLI 口径、排除规则与达标率 |
faulttree | 7.1 | 症状到检查项的路由与证据收集 |
archreview | 8.1 | 评审分级、角色权限与结论归档 |
teamownership | 9.1 | 服务所有权矩阵与交接检查 |
stranglermigration | 10.1 | 迁移阶段、流量比例与对账 |
aiopsdetect | 11.1 | 基线学习、异常评分与告警抑制 |
decisionlog | 12.1 | 决策状态、风险关联与路线图追溯 |
maturitymodel | 13.2 | 成熟度维度评分与证据校验 |
每个包都只依赖 Go 标准库,测试用表驱动写法。书中的代码块与仓库源码逐字节一致,读者可以只复制一个包出来跑。
一条治理规则长什么样
以“跨服务不得直连他人数据库”为例,一条可执行的规则至少要写清四件事:
rule: no-cross-service-database-access
scope: internal/**
owner: platform-team
check: import-graph
severity: block
exceptions:
- path: internal/legacy/report
owner: data-team
expires: 2027-03-31
evidence: ci-report.json
它和一句“禁止跨服务直连数据库”的区别在于:
scope明确了检查范围;check明确了用什么手段检查;exceptions让例外有 owner 和过期时间;evidence说明违规时留下什么证据。
第 8.3 节会把这类规则做成一个小型规则引擎,第 10 章会讨论规则如何随架构演进调整。
平台化的基线
卷四假设前三卷的成果已经存在:
- 三款产品各有明确的拓扑与状态归属;
- 账号、支付、匹配、经济、社交的核心契约已经定下;
- 容量表、成本表与合规表已经能填;
- 有基本的日志、指标与告警,但未必有 SLO。
在这个基线上,卷四讨论的是“如何复用、如何协作、如何长期维护”。如果读者所在的项目还没有完成前三卷的工作,卷四的很多讨论会显得超前;建议先补拓扑与契约,再回到本卷。
三款产品的平台化起点
为了避免抽象讨论,卷四继续使用北辰工作室的三款产品:
| 产品 | 平台化起点 | 主要矛盾 |
|---|---|---|
| 《裂隙战场》 | 已有账号与支付平台,缺 LiveOps 与 GM 工具 | 活动节奏快,变更安全要求高 |
| 《群岛纪元》 | 已有完整核心系统,团队按服拆分 | 多团队协作、跨服运营、客服与风控独立 |
| 《泡泡工坊》 | 直接复用平台能力,团队很小 | 没有专职 SRE,平台必须自带观测与告警 |
同一个平台决策,在这三款产品上的答案可能不同。卷四会尽量把“为什么不同”写出来,而不是给一个看似通用的最佳实践。
阅读约定
- 章节编号从 1.1 到 13.3,序、前言、目录与附录不参与编号;
- 每节末尾的阅读导航只指向本卷相邻小节,最后一节指回目录;
- 正文中的站内链接一律使用
relref,不手写 URL; - 代码块首行的
// file:指向.local/checks/gsarch-lab中的真实文件; - 附录 A 是可复制的治理模板,附录 B 是上线检查清单,附录 C 是全书案例索引。
一个提醒
平台与治理很容易变成“正确但无效”的工作:文档写得很全,评审开得很勤,事故还是照样发生。判断治理是否有效,不看文档数量,而看三个信号:
- 新成员能否在不问人的情况下完成一次合规发布;
- 事故复盘后的改进项,有多少变成了自动检查;
- 平台变更能否在不通知所有产品的情况下安全上线。
如果这三个信号没有改善,说明治理还停留在流程层。卷四的目标,是把它往下推到系统层。
继续阅读
探索更多技术文章
浏览归档,发现更多关于系统设计、工具链和工程实践的内容。