2.2.0 分布式系统与微服务知识图谱、迁移路线与版本边界
本册只承担导航、迁移审计、版本边界、分册契约与复习路线,不承载机制正文,不设置知识型三级标题,也不设置综合题库。迁移源为根文档的旧版正文快照;
01至08分册现已完成,根文档已收口为模块入口。
1. 定位、快照与迁移口径
本次迁移基线与收口核对日期均为 2026-07-14。下表哈希和行数记录的是迁移前旧版正文快照,当前根入口已完成导航化收口;后续不得拿旧快照覆盖根入口或并发修改。
| 基线对象 | 稳定标识范围 | 实测数量 | 本册口径 | 当前状态 |
|---|---|---|---|---|
| 迁移前旧版正文快照 | legacy-source-root-21 | 906 行 | 哈希为 64758290bf4c4cf516ca4f7b446e8964e6812f8b | 已完成迁移 |
| 旧知识小节 | legacy-k-3.1 至 legacy-k-8.3 | 14 | 每节 3 道章节题,共 42 道 | 已登记 |
| 旧章节题 | legacy-k-*-q* | 42 | 在 01 至 07 的唯一机制分册升级为六字段题 | 42/42 已完成 |
| 旧模块题 | legacy-bank-01 至 legacy-bank-25 | 25 | 题体在 08 唯一闭环,机制链接 01 至 07 | 25/25 已完成 |
| Mermaid(图表语法)图 | legacy-fig-01 至 legacy-fig-11 | 11 | 逐图迁移、替换或登记吸收关系 | 11/11 已完成 |
| 表格 | legacy-table-01 至 legacy-table-13 | 13 | 逐表迁移并补充前提和失败边界 | 13/13 已完成 |
| 数据演绎 | legacy-data-01 至 legacy-data-03 | 3 | 保留输入、逐步状态、输出、失败分支和结论 | 3/3 已完成 |
| 排查专题 | legacy-incident-01 至 legacy-incident-03 | 3 | 迁入 07,补证据、止血、根因和验证 | 3/3 已完成 |
| 项目话术 | legacy-talk-01 至 legacy-talk-04 | 4 | 迁入对应机制分册并扩写 | 4/4 已完成 |
| 复习清单 | legacy-review-01 至 legacy-review-10 | 10 | 映射到真实分册复习入口,不删除原能力目标 | 10/10 已完成 |
迁移数量演绎
| 时刻 | 输入或计算 | 状态 | 失败分支 | 输出 |
|---|---|---|---|---|
T0 | 14 个旧知识小节,每节 3 题 | 14 x 3 | 任一小节题数变化则停止沿用旧基线 | 42 道章节题 |
T1 | 42 道章节题 + 25 道模块题 | 42 + 25 | 稳定标识重复或缺号则迁移不闭环 | 67 道旧题 |
T2 | 11 图 + 13 表 + 3 数据 + 3 排查 + 4 话术 | 11 + 13 + 3 + 3 + 4 | 任一资产无唯一去向则不得收口 | 34 项内容资产 |
T3 | 67 道题 + 34 项内容资产 | 67 + 34 | 只统计数量、不核对语义视为失败 | 101 项核心迁移对象 |
T4 | 再加 10 项复习目标 | 101 + 10 | 根文档哈希变化时回到 T0 重算 | 111 项完整审计对象 |
结论:题目验收必须达到 67/67,内容资产必须分别达到 11/11、13/13、3/3、3/3、4/4,复习目标必须达到 10/10;总数相等不能替代逐项语义核对。
2. 2.2.0 至 2.2.8 知识图谱
图一:全量知识图谱
flowchart LR
N0["2.2.0<br/>迁移总账与复习路线"]
N1["2.2.1<br/>架构演进与成本"]
N2["2.2.2<br/>领域边界与数据所有权"]
N3["2.2.3<br/>一致性、复制与脑裂"]
N4["2.2.4<br/>服务治理与韧性"]
N5["2.2.5<br/>事务、补偿与消息一致性"]
N6["2.2.6<br/>配置、网关、发布与安全"]
N7["2.2.7<br/>项目案例与事故排障"]
N8["2.2.8<br/>旧题闭环与综合口述"]
N0 --> N1
N0 --> N3
N1 --> N2
N3 --> N4
N2 --> N5
N3 --> N5
N4 --> N6
N1 --> N7
N2 --> N7
N3 --> N7
N4 --> N7
N5 --> N7
N6 --> N7
N7 --> N8- 节点:
2.2.0管契约,2.2.1至2.2.6管机制,2.2.7管项目证据,2.2.8管跨章节口述。 - 箭头:表示最低学习依赖,不表示调用关系;例如事务选型必须先知道领域边界和一致性要求。
- 前提:每册只维护自己的权威正文,跨册只做相对引用。
- 失败分支:若跳过边界和一致性直接背框架,项目回答会退化成组件清单,应退回前置分册。
- 业务结论:先判断是否值得拆,再确定谁拥有数据,最后讨论治理、事务和发布工具。
3. 执行依赖与交付顺序
图二:实施依赖路径
flowchart TD
A["00 锁定账本、边界和下限"] --> B["01 演进与成本"]
A --> C["03 一致性理论"]
B --> D["02 领域边界"]
C --> E["04 服务治理"]
C --> F["05 分布式事务"]
D --> F
E --> G["06 平台边界"]
B --> H["07 项目与事故"]
D --> H
C --> H
E --> H
F --> H
G --> H
H --> I["08 综合题库"]
I --> J{"全部迁移与验收通过?"}
J -->|是| K["最后收口根入口与看板"]
J -->|否| L["回到缺失资产的唯一分册"]- 节点:从
00到08对应九个可独立验收的交付物。 - 箭头:表示写作依赖;
03可在00后独立推进,05必须同时消费02和03。 - 前提:并行任务不得修改根入口、术语表或两级看板。
- 失败分支:任一迁移对象、图形渲染或版本证据未通过,都回到唯一责任分册修复。
- 业务结论:只有项目事故册能引用全部机制册,综合题库必须最后写,避免产生漂移答案。
| 编号 | 计划文件 | 依赖 | 产出给谁 | 当前链接策略 |
|---|---|---|---|---|
2.2.0 | 00-知识图谱迁移路线与版本边界.md | 根文档和实施计划 | 全部分册 | 已完成并作为迁移总账 |
2.2.1 | 01-单体到微服务演进拆分原则与成本模型.md | 2.2.0 | 2.2.2、2.2.7 | 已完成 |
2.2.2 | 02-DDD限界上下文聚合事件风暴与数据所有权.md | 2.2.1 | 2.2.5、2.2.7 | 已完成 |
2.2.3 | 03-CAP-BASE一致性复制Quorum时钟与脑裂.md | 2.2.0 | 2.2.4、2.2.5、2.2.7 | 已完成 |
2.2.4 | 04-服务治理注册发现负载均衡与韧性.md | 2.2.3 | 2.2.6、2.2.7 | 已完成 |
2.2.5 | 05-分布式事务补偿与消息一致性.md | 2.2.2、2.2.3 | 2.2.7 | 已完成 |
2.2.6 | 06-配置网关灰度兼容多租户与安全边界.md | 2.2.4 | 2.2.7 | 已完成 |
2.2.7 | 07-项目案例与事故排障.md | 2.2.1 至 2.2.6 | 2.2.8 | 已完成 |
2.2.8 | 08-综合面试题库.md | 2.2.1 至 2.2.7 | 根入口收口 | 已完成 |
4. 五类边界总模型
图三:服务、事务、数据、可观测性和组织五类边界
flowchart TD
BC["业务能力与不变量"] --> S["服务边界<br/>独立演进、部署、扩容"]
BC --> T["事务边界<br/>一次原子提交内的不变量"]
BC --> D["数据所有权<br/>唯一权威写入方"]
S --> O["可观测性边界<br/>日志、指标、链路、审计"]
T --> O
D --> O
ORG["组织成本<br/>团队、发布、值班、平台"] --> S
ORG --> O
D --> C{"边界发生冲突?"}
C -->|否| KEEP["保持服务自治"]
C -->|是| FIX["合并服务、调整聚合<br/>建立读模型或接受最终一致"]- 节点:五类边界分别回答“拆什么、原子到哪里、谁能写、如何证明、谁来承担”。
- 箭头:业务能力与不变量共同约束技术边界,组织成本反向限制拆分粒度。
- 前提:服务拆分不能自动推导事务拆分,更不能自动推导每服务一库。
- 失败分支:多服务直接写同一数据、把采样链路当业务账本、没有值班责任人时,必须重新划界。
- 业务结论:允许合并服务、调整聚合或接受最终一致;微服务不是默认优解。
| 边界 | 必须回答 | 最小证据 | 禁止口径 |
|---|---|---|---|
| 服务边界 | 哪个业务能力需要独立演进、部署和扩容 | 变化频率、容量热点、故障域、团队所有权 | 按表、控制器或页面机械拆分 |
| 事务边界 | 哪些不变量必须在一次原子提交内成立 | 状态机、约束、失败窗口、补偿责任 | 服务一拆就默认跨服务强事务 |
| 数据所有权 | 谁是权威写入方,其他方如何读取 | 写入入口、事件契约、读模型、审计流水 | 多服务绕过所有者直接写同一数据 |
| 可观测性边界 | 什么证据能证明技术状态和业务状态 | 日志、指标、链路、业务流水、对账结果 | 把 Trace(链路追踪)采样结果当完整账本 |
| 组织成本 | 谁开发、发布、值班和承担平台成本 | 团队拓扑、发布频率、告警责任、总拥有成本 | 只算机器和代码,不算认知负担 |
5. 真实迁移账本
图四:旧资产到唯一权威正文的闭环
flowchart LR
S["根文档只读快照"] --> I["稳定标识"]
I --> O["唯一责任分册"]
O --> A["稳定目标锚点"]
A --> U["升级、重绘或吸收"]
U --> V{"内容、链接、数量和渲染通过?"}
V -->|否| R["保持待迁移并返回责任分册"]
V -->|是| C["标记已迁移"]
C --> Q["08 只做题体闭环和跨册引用"]- 节点:每项旧资产都经过稳定标识、唯一责任分册、目标锚点和验收状态。
- 箭头:表示审计状态推进,不允许从“已登记”直接跳到“已完成”。
- 前提:目标文件真实存在后,代码路径才转换为相对 Markdown(标记语言)链接。
- 失败分支:语义遗漏、链接不存在、数量不符或图无法渲染时,一律保持“待迁移”。
- 业务结论:相似内容可以重绘或吸收,但必须写明原结论如何被覆盖,不能只写“已重写”。
42 道旧章节题账本
| 来源标识 | 旧问题 | 唯一主去向 | 真实落点 | 处理方式 / 状态 |
|---|---|---|---|---|
legacy-k-3.1-q1 | 为什么不是一开始就用微服务架构 | 2.2.1 | #legacy-k-3-1-q1 | 补模块化单体与成本阈值 / 已完成 |
legacy-k-3.1-q2 | 微服务架构本质解决了什么问题 | 2.2.1 | #legacy-k-3-1-q2 | 补收益、代价与回迁条件 / 已完成 |
legacy-k-3.1-q3 | WMS(仓储管理系统)为什么适合拆成微服务 | 2.2.1 | #legacy-k-3-1-q3 | 补团队、热点和故障域证据 / 已完成 |
legacy-k-3.2-q1 | 注册中心解决什么问题 | 2.2.4 | #legacy-k-3-2-q1 | 补租约、本地缓存和失败窗口 / 已完成 |
legacy-k-3.2-q2 | Gateway(网关)为什么不能承载全部逻辑 | 2.2.6 | 分册真实落点 | 区分通用安全与业务规则 / 已完成 |
legacy-k-3.2-q3 | 库存实例频繁上下线如何感知 | 2.2.4 | #legacy-k-3-2-q3 | 补健康检查和陈旧实例窗口 / 已完成 |
legacy-k-3.3-q1 | 服务拆分按什么标准 | 2.2.2 | 分册真实落点 | 补事件风暴与上下文映射 / 已完成 |
legacy-k-3.3-q2 | Bounded Context(限界上下文)有什么价值 | 2.2.2 | 分册真实落点 | 补模型边界和防腐层 / 已完成 |
legacy-k-3.3-q3 | 库存和订单是否应拆成两个服务 | 2.2.2 | 分册真实落点 | 补聚合、不变量和数据所有权 / 已完成 |
legacy-k-3.4-q1 | CAP(一致性、可用性、分区容错)是不是三选二 | 2.2.3 | 分册真实落点 | 限定网络分区场景 / 已完成 |
legacy-k-3.4-q2 | 最终一致性是不是不一致 | 2.2.3 | 分册真实落点 | 补收敛窗口与可证明条件 / 已完成 |
legacy-k-3.4-q3 | 支付成功但订单未更新属于什么问题 | 2.2.3 | 分册真实落点 | 区分副本、事务和业务一致性 / 已完成 |
legacy-k-4.1-q1 | 注册中心和配置中心有什么区别 | 2.2.4 | 分册真实落点 | 保留职责边界并补失败模式 / 已完成 |
legacy-k-4.1-q2 | 为什么调用方缓存服务列表 | 2.2.4 | #legacy-k-4-1-q2 | 补可用性收益和陈旧风险 / 已完成 |
legacy-k-4.1-q3 | 实例假死但心跳正常怎么办 | 2.2.4 | 分册真实落点 | 补业务探活和摘流 / 已完成 |
legacy-k-4.2-q1 | 远程调用和本地调用最大的区别 | 2.2.4 | #legacy-k-4-2-q1 | 补未知结果和超时预算 / 已完成 |
legacy-k-4.2-q2 | 重试为什么可能引发事故 | 2.2.4 | #legacy-k-4-2-q2 | 补放大系数、退避和幂等 / 已完成 |
legacy-k-4.2-q3 | 物流下单接口超时如何处理 | 2.2.4 | #legacy-k-4-2-q3 | 补查单优先和人工兜底 / 已完成 |
legacy-k-4.3-q1 | 分布式事务为什么比本地事务难 | 2.2.5 | #legacy-k-4-3-q1 | 补协调失败与不确定状态 / 已完成 |
legacy-k-4.3-q2 | TCC(Try Confirm Cancel,尝试确认取消)和可靠消息最终一致怎么选 | 2.2.5 | #legacy-k-4-3-q2 | 补侵入、时延和副作用边界 / 已完成 |
legacy-k-4.3-q3 | 订单成功但库存扣减失败怎么办 | 2.2.5 | 分册真实落点 | 补状态机、补偿和审计 / 已完成 |
legacy-k-4.4-q1 | 什么是幂等 | 2.2.4 | #legacy-k-4-4-q1 | 补业务结果与响应差异 / 已完成 |
legacy-k-4.4-q2 | 唯一索引和分布式锁哪个更可靠 | 2.2.4 | #legacy-k-4-4-q2 | 强调数据库条件约束兜底 / 已完成 |
legacy-k-4.4-q3 | MQ(消息队列)重复消费如何幂等 | 2.2.4 | #legacy-k-4-4-q3 | 机制归本册,消息细节链接权威模块 / 已完成 |
legacy-k-4.5-q1 | 限流、熔断、降级有什么区别 | 2.2.4 | #legacy-k-4-5-q1 | 补隔离、排队和背压 / 已完成 |
legacy-k-4.5-q2 | 熔断器有哪些状态 | 2.2.4 | #legacy-k-4-5-q2 | 补恢复探测和误触发成本 / 已完成 |
legacy-k-4.5-q3 | 第三方物流接口超时如何保护系统 | 2.2.4 | #legacy-k-4-5-q3 | 补依赖隔离和恢复放量 / 已完成 |
legacy-k-4.6-q1 | 灰度发布和蓝绿发布有什么区别 | 2.2.6 | 分册真实落点 | 补金丝雀和环境成本 / 已完成 |
legacy-k-4.6-q2 | 微服务灰度为什么要链路透传 | 2.2.6 | 分册真实落点 | 补协议和数据兼容矩阵 / 已完成 |
legacy-k-4.6-q3 | 支付链路能否直接全量发布 | 2.2.6 | 分册真实落点 | 补放量门禁、回滚中间态 / 已完成 |
legacy-k-4.7-q1 | 日志、指标、链路追踪分别解决什么问题 | 2.2.4 | #legacy-k-4-7-q1 | 增加业务审计边界 / 已完成 |
legacy-k-4.7-q2 | TraceId(链路标识)如何跨线程、跨服务传递 | 2.2.4 | 分册真实落点 | 补上下文传播和丢失检测 / 已完成 |
legacy-k-4.7-q3 | 线上下单慢如何定位具体服务 | 2.2.4 | 分册真实落点 | 补采样缺失与证据拼接 / 已完成 |
legacy-k-8.1-q1 | 调用超时先看调用方还是被调用方 | 2.2.7 | 分册真实落点 | 补证据优先的定位顺序 / 已完成 |
legacy-k-8.1-q2 | 为什么慢调用会引发雪崩 | 2.2.7 | 分册真实落点 | 补资源耗尽和重试放大 / 已完成 |
legacy-k-8.1-q3 | 第三方物流慢导致订单卡住怎么办 | 2.2.7 | 分册真实落点 | 补异步化、状态可见和补偿 / 已完成 |
legacy-k-8.2-q1 | 数据不一致先查什么 | 2.2.7 | 分册真实落点 | 补权威源和流水证据 / 已完成 |
legacy-k-8.2-q2 | 为什么状态机能降低不一致风险 | 2.2.7 | 分册真实落点 | 补乱序、逆向和版本条件 / 已完成 |
legacy-k-8.2-q3 | 支付成功但账务流水缺失怎么补 | 2.2.7 | 分册真实落点 | 补审批、审计和资损核对 / 已完成 |
legacy-k-8.3-q1 | 灰度发布前要检查什么 | 2.2.7 | 分册真实落点 | 补发布证据和门禁 / 已完成 |
legacy-k-8.3-q2 | 灰度为什么可能影响非灰度用户 | 2.2.7 | 分册真实落点 | 补共享数据和消息兼容 / 已完成 |
legacy-k-8.3-q3 | 支付新版本灰度失败如何回滚 | 2.2.7 | 分册真实落点 | 补停止流量、补偿和对账 / 已完成 |
25 道旧模块题账本
下表的“题体唯一去向”全部是 2.2.8,确保 legacy-bank-01 至 legacy-bank-25 在综合题库保留稳定标识并升级为口述答案;“机制权威分册”只提供详情链接,不复制第二份题体。
| 来源标识 | 旧题主题 | 题体唯一真实落点 | 机制权威分册 | 状态 |
|---|---|---|---|---|
legacy-bank-01 | 为什么从单体演进到微服务 | 2.2.8 / #legacy-bank-01 | 2.2.1 | 已完成 |
legacy-bank-02 | 微服务缺点 | 2.2.8 / #legacy-bank-02 | 2.2.1 | 已完成 |
legacy-bank-03 | 服务拆分 | 2.2.8 / #legacy-bank-03 | 2.2.2 | 已完成 |
legacy-bank-04 | CAP(一致性、可用性、分区容错) | 2.2.8 / #legacy-bank-04 | 2.2.3 | 已完成 |
legacy-bank-05 | BASE(基本可用、软状态、最终一致) | 2.2.8 / #legacy-bank-05 | 2.2.3 | 已完成 |
legacy-bank-06 | 分布式事务方案 | 2.2.8 / 分册真实落点 | 2.2.5 | 已完成 |
legacy-bank-07 | TCC(Try Confirm Cancel,尝试确认取消)场景与悬挂 | 2.2.8 / 分册真实落点 | 2.2.5 | 已完成 |
legacy-bank-08 | 最大努力通知 | 2.2.8 / 分册真实落点 | 2.2.5 | 已完成 |
legacy-bank-09 | 接口幂等 | 2.2.8 / 分册真实落点 | 2.2.4 | 已完成 |
legacy-bank-10 | 调用超时 | 2.2.8 / 分册真实落点 | 2.2.4 | 已完成 |
legacy-bank-11 | 熔断与降级 | 2.2.8 / 分册真实落点 | 2.2.4 | 已完成 |
legacy-bank-12 | 限流算法 | 2.2.8 / 分册真实落点 | 2.2.4 | 已完成 |
legacy-bank-13 | 灰度发布 | 2.2.8 / 分册真实落点 | 2.2.6 | 已完成 |
legacy-bank-14 | 慢请求排查 | 2.2.8 / 分册真实落点 | 2.2.7 | 已完成 |
legacy-bank-15 | MQ(消息队列)在微服务中的作用 | 2.2.8 / 分册真实落点 | 2.2.5,消息机制归 MQ(消息队列)模块 | 已完成 |
legacy-bank-16 | 分布式锁边界 | 2.2.8 / 分册真实落点 | 2.2.4,锁实现归 Redis(远程字典服务)模块 | 已完成 |
legacy-bank-17 | 防止雪崩 | 2.2.8 / 分册真实落点 | 2.2.4 | 已完成 |
legacy-bank-18 | 链路追踪 | 2.2.8 / 分册真实落点 | 2.2.4 | 已完成 |
legacy-bank-19 | 服务降级与用户体验 | 2.2.8 / 分册真实落点 | 2.2.4 | 已完成 |
legacy-bank-20 | 每服务一库 | 2.2.8 / 分册真实落点 | 2.2.2 | 已完成 |
legacy-bank-21 | 跨服务查询 | 2.2.8 / 分册真实落点 | 2.2.2 | 已完成 |
legacy-bank-22 | 配置治理 | 2.2.8 / 分册真实落点 | 2.2.6 | 已完成 |
legacy-bank-23 | 订单履约补偿 | 2.2.8 / 分册真实落点 | 2.2.7 | 已完成 |
legacy-bank-24 | 拆分过细 | 2.2.8 / #legacy-bank-24 | 2.2.1 | 已完成 |
legacy-bank-25 | 微服务健康度评价 | 2.2.8 / #legacy-bank-25 | 2.2.1 | 已完成 |
11 张旧图账本
| 来源标识 | 旧图 | 唯一主去向 | 真实落点或吸收关系 | 状态 |
|---|---|---|---|---|
legacy-fig-01 | 单体到微服务演进图 | 2.2.1 | #legacy-fig-01,补模块化单体和回迁分支 | 已完成 |
legacy-fig-02 | 微服务核心组件图 | 2.2.0 | 已替换为全量知识图谱;组件机制分流到 2.2.4、2.2.6 | 已在导航层吸收,机制已完成 |
legacy-fig-03 | 服务注册发现时序图 | 2.2.4 | 分册真实落点,补陈旧实例和注册中心不可用分支 | 已完成 |
legacy-fig-04 | 远程调用链路图 | 2.2.4 | 分册真实落点,补超时预算、重试和未知结果 | 已完成 |
legacy-fig-05 | 本地消息表最终一致流程 | 2.2.5 | 分册真实落点,补投递、消费和补偿失败窗口 | 已完成 |
legacy-fig-06 | 限流熔断降级流程 | 2.2.4 | 分册真实落点,补隔离、恢复探测和恢复放量 | 已完成 |
legacy-fig-07 | 灰度路由流程 | 2.2.6 | 分册真实落点,补数据库、消息和配置兼容 | 已完成 |
legacy-fig-08 | 链路追踪时序图 | 2.2.4 | 分册真实落点,补异步传播、采样缺失和审计边界 | 已完成 |
legacy-fig-09 | 供应链微服务参考架构 | 2.2.7 | 分册真实落点,补七类项目和五类边界 | 已完成 |
legacy-fig-10 | 下单到库存冻结时序 | 2.2.7 | 分册真实落点,补权威源、幂等键和补偿 | 已完成 |
legacy-fig-11 | 支付最终一致流程 | 2.2.7 | 分册真实落点,事务机制链接 2.2.5,支付领域链接权威模块 | 已完成 |
13 张旧表账本
| 来源标识 | 旧表 | 唯一主去向 | 真实落点或处理方式 | 状态 |
|---|---|---|---|---|
legacy-table-01 | 单体与微服务对比 | 2.2.1 | #legacy-table-01,增加模块化单体、组织和平台成本 | 已完成 |
legacy-table-02 | 微服务组件职责与实现 | 2.2.0 | 已被分册契约吸收;实现细节分流到 2.2.4、2.2.6 | 已在导航层吸收,机制已完成 |
legacy-table-03 | DDD(领域驱动设计)概念 | 2.2.2 | 分册真实落点,增加上下文映射和数据所有权 | 已完成 |
legacy-table-04 | CAP(一致性、可用性、分区容错)概念 | 2.2.3 | 分册真实落点,限定分区场景并区分三类一致性 | 已完成 |
legacy-table-05 | 分布式事务模式 | 2.2.5 | 分册真实落点,增加失败窗口和外部副作用边界 | 已完成 |
legacy-table-06 | 幂等方案 | 2.2.4 | 分册真实落点,补条件更新、状态机和数据库约束 | 已完成 |
legacy-table-07 | 限流算法 | 2.2.4 | 分册真实落点,补突发、排队、公平性和误杀成本 | 已完成 |
legacy-table-08 | 可观测性指标 | 2.2.4 | 分册真实落点,补业务指标、审计和采样边界 | 已完成 |
legacy-table-09 | 服务拆分策略 | 2.2.1 | #legacy-table-09,补触发阈值和合并条件 | 已完成 |
legacy-table-10 | 一致性方案 | 2.2.5 | 分册真实落点,理论链接 2.2.3 | 已完成 |
legacy-table-11 | 稳定性治理机制 | 2.2.4 | 分册真实落点,补恢复门禁和证据链 | 已完成 |
legacy-table-12 | 支付回调重复通知 | 2.2.7 | 分册真实落点,与 legacy-data-01 同节深化 | 已完成 |
legacy-table-13 | 库存冻结失败补偿 | 2.2.7 | 分册真实落点,与 legacy-data-02 同节深化 | 已完成 |
数据、排查与话术账本
| 来源标识 | 类型与旧内容 | 唯一主去向 | 真实落点 | 状态 |
|---|---|---|---|---|
legacy-data-01 | 数据:支付回调 T1 至 T4 重复通知 | 2.2.7 | 分册真实落点 | 已完成 |
legacy-data-02 | 数据:库存冻结、支付创建、取消补偿 | 2.2.7 | 分册真实落点 | 已完成 |
legacy-data-03 | 数据:1000 QPS(每秒查询率)、50ms(毫秒) 到 3s(秒)、3 次重试风暴 | 2.2.4 | 分册真实落点 | 已完成 |
legacy-incident-01 | 排查:微服务调用超时 | 2.2.7 | 分册真实落点 | 已完成 |
legacy-incident-02 | 排查:数据不一致 | 2.2.7 | 分册真实落点 | 已完成 |
legacy-incident-03 | 排查:灰度发布事故 | 2.2.7 | 分册真实落点 | 已完成 |
legacy-talk-01 | 话术:单体到微服务 | 2.2.1 | 分册真实落点 | 已完成 |
legacy-talk-02 | 话术:分布式事务 | 2.2.5 | 分册真实落点 | 已完成 |
legacy-talk-03 | 话术:稳定性治理 | 2.2.4 | 分册真实落点 | 已完成 |
legacy-talk-04 | 话术:灰度发布 | 2.2.6 | 分册真实落点 | 已完成 |
10 项复习目标账本
| 来源标识 | 原能力目标 | 唯一复习入口 | 状态 |
|---|---|---|---|
legacy-review-01 | 讲清单体到微服务的演进原因 | 2.2.1 | 已完成 |
legacy-review-02 | 说明微服务解决的问题和引入的复杂度 | 2.2.1 | 已完成 |
legacy-review-03 | 画出典型微服务架构图 | 2.2.1,组件细节到 2.2.4、2.2.6 | 已完成 |
legacy-review-04 | 说明网关、注册、配置、负载均衡职责 | 2.2.4、2.2.6 | 已完成 |
legacy-review-05 | 按 DDD(领域驱动设计)解释服务拆分 | 2.2.2 | 已完成 |
legacy-review-06 | 解释 CAP(一致性、可用性、分区容错)和 BASE(基本可用、软状态、最终一致) | 2.2.3 | 已完成 |
legacy-review-07 | 对比事务与最终一致方案 | 2.2.5 | 已完成 |
legacy-review-08 | 设计幂等、状态机和补偿任务 | 2.2.4、2.2.5 | 已完成 |
legacy-review-09 | 说明限流、熔断、降级和隔离 | 2.2.4 | 已完成 |
legacy-review-10 | 讲清发布透传并串讲 WMS(仓储管理系统)、库存、支付和异步任务 | 2.2.6、2.2.7 | 已完成 |
6. 版本、事实与技术边界矩阵
本册只记录经计划和现有材料核对的一般边界,不声称任何产品“当前最新版”,也不把未核对的小版本、配置键或默认值写成事实。具体分册实施时,必须追加官方资料、核对日期、实际小版本、文档章节和适用条件。
| 范围 | 本册可确认的一般边界 | 本册不固化的内容 | 分册实施时必须补的证据 |
|---|---|---|---|
| 分布式理论 | CAP(一致性、可用性、分区容错)只讨论网络分区发生时的一致性与可用性取舍;数据库事务一致性、复制一致性和业务最终一致性必须分开 | 不把 CAP(一致性、可用性、分区容错)简化成日常状态下的“三选二” | 理论来源、模型前提和反例 |
| Spring Cloud(微服务框架) | 发布列车必须与 Spring Boot(快速开发框架)兼容矩阵一起核对 | 不登记未经核对的发布列车、组件组合、配置键和默认行为 | 官方兼容矩阵、实际依赖清单、核对日期 |
| Nacos(服务治理平台) | 2.x 与 3.x 以及各小版本的注册、配置、健康检查、客户端协议、鉴权和升级影响可能不同 | 不臆造当前使用版本,不跨版本泛化行为 | 官方版本文档、客户端和服务端小版本、升级说明 |
| Sentinel(流量治理框架) | 统计窗口、规则加载、恢复探测等行为必须结合实际版本与适配方式 | 不把某一默认窗口或阈值写成永久事实 | 官方规则文档、适配组件版本、实测配置 |
| Resilience4j(容错库) | 熔断、限流、重试和隔离是不同能力,组合顺序与调用模型有关 | 不把状态转换、窗口和默认值跨版本泛化 | 官方模块文档、实际配置和测试记录 |
| Seata(分布式事务框架) | AT(自动事务模式)、TCC(Try Confirm Cancel,尝试确认取消)、Saga(长事务模式)、XA(扩展架构事务模式)的资源要求和失败边界不同 | 不声称任一模式能覆盖支付渠道、短信、文件或设备控制等外部副作用 | 官方模式文档、资源支持、小版本和失败演练 |
| TX-LCN(事务协调框架) | 只作为历史或存量方案比较,必须评估维护状态、协调器依赖和故障风险 | 不作为新系统默认推荐 | 官方仓库或维护声明、存量版本、替代方案 |
| OpenTelemetry(开放遥测标准) | 上下文传播、采样和语义约定要按实际版本核对;链路不能替代业务审计 | 不臆造当前语义约定版本,不把采样数据当全量事实 | 官方规范版本、采样策略、字段约定和审计映射 |
| 外部副作用 | 支付、物流、短信、文件和设备通常不能假设参与本地或全局数据库事务 | 不宣传 2PC(两阶段提交)、TCC(Try Confirm Cancel,尝试确认取消)或 Seata(分布式事务框架)为万能强一致 | 幂等键、状态机、查询、补偿、对账和人工闭环证据 |
图五:版本事实进入正文前的门禁
flowchart TD
C["准备写产品行为或默认值"] --> V{"已知实际小版本?"}
V -->|否| G["只写一般边界并标记待核对"]
V -->|是| O{"有对应官方文档章节?"}
O -->|否| G
O -->|是| T{"与项目配置或实验一致?"}
T -->|否| D["记录差异,不下通用结论"]
T -->|是| R["登记日期、版本、章节和适用条件"]
R --> P["允许进入机制正文"]- 节点:小版本、官方章节、项目配置或实验是三道事实门禁。
- 箭头:只有证据一致时,具体行为和默认值才能进入正文。
- 前提:一般理论与产品事实分层记录。
- 失败分支:缺版本、缺官方章节或实测不一致时,只保留一般边界和待核对状态。
- 业务结论:导航册宁可少写具体值,也不制造会随升级失效的“当前版本”结论。
7. 跨模块权威正文边界
| 交叉主题 | 权威正文 | 本模块只负责 | 禁止重复 |
|---|---|---|---|
| MQ(消息队列) | MQ(消息队列)模块 | 解释消息如何参与服务解耦、最终一致和补偿选型 | 代理存储、可靠性、顺序、重试、堆积等产品机制正文 |
| Spring(Java 应用框架) | Spring(Java 应用框架)模块 | 记录微服务框架兼容边界,以及事务代理对服务边界的影响 | 容器、Bean(对象实例)生命周期、AOP(面向切面编程)、本地事务传播正文 |
| Zookeeper(分布式协调服务) | 计划路径 ../23-Zookeeper与协调服务.md,当前文件不存在,故不生成坏链接 | 对比注册发现和协调能力的适用边界 | ZAB(原子广播协议)、选举、节点、Watcher(监听器)和分布式锁正文 |
| 支付与资金 | 支付资金一致性模块 | 讨论外部副作用、最终一致模式和微服务故障传播 | 支付状态机、账务守恒、退款、冲正、对账和结算正文 |
图六:跨模块引用边界
flowchart LR
M["分布式与微服务模块<br/>边界、选型、故障传播"]
Q["MQ(消息队列)模块<br/>消息产品机制"]
S["Spring(Java 应用框架)模块<br/>容器、代理与本地事务"]
Z["Zookeeper(分布式协调服务)模块<br/>协调协议与原语"]
P["支付资金模块<br/>状态机、账务与对账"]
M -->|"详情引用"| Q
M -->|"详情引用"| S
M -->|"待文件创建后引用"| Z
M -->|"详情引用"| P
Q -.->|"不反向复制机制"| M
S -.->|"不反向复制机制"| M
Z -.->|"不反向复制机制"| M
P -.->|"不反向复制机制"| M- 节点:四个外部模块分别拥有消息、框架、协调和支付领域正文。
- 箭头:实线表示本模块去权威正文查机制,虚线表示禁止复制形成双份答案。
- 前提:只有真实存在的文件才生成相对 Markdown(标记语言)链接。
- 失败分支:权威文件不存在时登记计划路径和缺口,不临时在本册补写一套正文。
- 业务结论:本模块回答系统边界与组合方式,外部模块回答各自内部机制。
8. 分册职责、下限、图形资产与完成红线
| 编号 | 唯一职责 | 知识小节 / 六字段题下限 | 图 / 表 / 数据下限 | 综合长答案下限 | 图形资产重点 | 单册完成红线 |
|---|---|---|---|---|---|---|
2.2.0 | 路线、迁移账本、版本和五类边界 | 不设章节题 | 7 / 4 / 1 | 0 | 知识图谱、依赖、五类边界、迁移、版本门禁、权威边界、复习路线 | 67/67 道旧题及全部旧资产已有真实链接和唯一去向;7/7 图真实渲染;收口完成 |
2.2.1 | 单体、模块化单体、微服务演进与成本模型 | 10 / 30 | 10 / 9 / 8 | 20 | 演进决策、成本曲线、拆分和合并路径 | 不得把微服务写成默认优解;必须有替代、组织成本和回迁条件 |
2.2.2 | DDD(领域驱动设计)、聚合、事件风暴、上下文映射和数据所有权 | 11 / 33 | 11 / 10 / 8 | 22 | 上下文地图、事件风暴、聚合和读模型 | 服务边界、事务边界和数据所有权不得混为一谈 |
2.2.3 | CAP(一致性、可用性、分区容错)、BASE(基本可用、软状态、最终一致)、复制、Quorum(法定人数)、时钟和脑裂 | 12 / 36 | 13 / 11 / 10 | 25 | 复制时序、法定人数交集、时钟和脑裂恢复 | 不得写无条件“三选二”,不得把法定人数交集等同于线性一致性 |
2.2.4 | 注册发现、负载均衡、超时、重试、幂等、韧性和可观测性 | 14 / 42 | 15 / 12 / 12 | 28 | 服务发现、预算传播、重试放大、熔断恢复和证据链 | 必须覆盖超时预算、幂等、隔离、恢复放量和采样边界 |
2.2.5 | 分布式事务、补偿、Outbox(发件箱)、事务消息和最大努力通知 | 14 / 42 | 15 / 13 / 12 | 30 | 协调状态机、失败窗口、补偿和消息一致性 | 必须覆盖阻塞、空回滚、悬挂、补偿失败、重复消息、未知结果和人工兜底 |
2.2.6 | 配置、网关、灰度、蓝绿、金丝雀、兼容、多租户和安全 | 12 / 36 | 12 / 11 / 9 | 24 | 配置发布、链路灰度、扩展收缩变更、租户和安全边界 | 必须有数据库、消息、配置兼容矩阵和回滚中间态处理 |
2.2.7 | WMS(仓储管理系统)、库存、支付、轨迹、异步任务、Runner(执行器)、IoT(物联网)案例与事故 | 12 / 36 | 14 / 12 / 12 | 28 | 项目全景、库存支付时序、任务调度、报警风暴和事故时间线 | 每例必须有权威源、幂等键、状态机、补偿、指标、降级和人工闭环 |
2.2.8 | 67 道旧题闭环、跨章节口述和追问树 | 8 / 24 | 10 / 10 / 8 | 40 | 追问树、选型路径、事故口述和跨册索引 | 25 个旧模块题标识不得合并删除;口述答案长度、追问组和真实链接必须达标 |
共同完成红线:任一目标文件缺失、旧资产无去向、英文技术词未按 English(中文意思) 标注、图未真实渲染、存在坏链接、审计非零、git diff --check 失败或版本事实无证据,都不得标记对应分册完成。
9. 复习路线
图七:按目标选择复习路径
flowchart TD
G{"本轮复习目标"}
G -->|"建立架构判断"| A["00 -> 01 -> 02 -> 03"]
G -->|"准备治理与事务"| B["03 -> 04 -> 05 -> 06"]
G -->|"准备项目面试"| C["01 -> 02 -> 04 -> 05 -> 06 -> 07"]
G -->|"临场口述"| D["00 路线 -> 07 案例 -> 08 追问"]
A --> E["用 08 校验表达"]
B --> E
C --> E
D --> E
E --> F{"能说明边界、失败和兜底?"}
F -->|是| H["进入模拟面试"]
F -->|否| R["沿题目详情链接返回唯一机制分册"]- 节点:四条路线分别服务架构判断、机制复习、项目串讲和临场表达。
- 箭头:所有路线最终都用
08检查能否口述,而不是用题库替代机制学习。 - 前提:学习者已用
00确认术语、版本和跨模块权威边界。 - 失败分支:说不清前提、失败窗口或人工兜底时,按稳定链接回到唯一机制分册。
- 业务结论:复习按目标裁剪顺序,但不能跳过当前问题的依赖知识。
| 路线 | 建议顺序 | 结束时必须能说清 |
|---|---|---|
| 架构判断路线 | 2.2.0 -> 2.2.1 -> 2.2.2 -> 2.2.3 | 为什么不默认拆微服务、如何划边界、网络分区时如何取舍 |
| 治理事务路线 | 2.2.3 -> 2.2.4 -> 2.2.5 -> 2.2.6 | 超时与重试如何放大、事务模式如何选、发布如何兼容和回滚 |
| 项目串讲路线 | 2.2.1 -> 2.2.2 -> 2.2.4 -> 2.2.5 -> 2.2.6 -> 2.2.7 | 七类项目的权威源、幂等键、状态机、补偿、指标和人工闭环 |
| 临场冲刺路线 | 2.2.0 -> 2.2.7 -> 2.2.8 | 用事故证据回答追问,并能沿详情链接补足机制 |
10. 当前收口状态
- 67 道旧题已完成
67/67:42 道章节题均链接唯一机制分册,25 道旧模块题均链接 08 综合面试题库的唯一题体与机制权威分册。 - 旧资产已全部完成:11 图、13 表、3 个数据演绎、3 个排查专题、4 组项目话术、10 项复习目标均有真实分册链接和唯一去向。
00至08文件均真实存在,内容数量、相对链接、版本事实、术语审计、单文件审计和图形真实渲染均于2026-07-14通过。- 根入口、本迁移账本、模块级看板和子文档执行看板已完成同步,分布式系统与微服务模块正式收口。
- 下一项转入 Spring(Java 应用框架)生态与后端工程。
