跳到内容
第七卷

分布式系统与架构

在时钟不一致、网络会中断、节点会失效的条件下,设计仍可推理的系统。

当系统跨过海峡部署到多座岛屿,单机时代默认成立的条件开始逐一失效:消息可能迟到,节点可能失联,不同副本看到的事实也不一致。你们必须先写清系统模型,再决定一致性、可用性、共识、调度与恢复策略。

旅程位置:工匠议事厅 → 分布式群岛(在部分失败中保持服务)→ 安全要塞

前置要求

需要系统基础。理解网络、线程、并发(Vol 3-4),有基本的后端开发经验。

完成标志:理解分布式系统核心挑战、CAP/FLP 含义、Raft 共识、分布式存储/计算模型、K8s 编排、可观测性三支柱。

第1章 分布式系统概览 已完成

1.1 部分失败、系统模型、Safety/Liveness、CAP 与 FLP 的精确边界。

第1章·第2课 已完成

1.2 物理/逻辑时间、因果关系、线性/顺序/因果/最终一致性。

第2章 RPC 与序列化 已完成

2.1 IDL、Protobuf 编码与兼容规则、四种 RPC 形态和协议选择。

第2章·第2课 已完成

2.2 Deadline 传播、取消、状态码、幂等重试、流恢复与背压。

第3章 一致性与共识 已完成

3.1 Raft 多数派、Term、选举、AppendEntries 与当前任期提交规则。

第3章·第2课 已完成

3.2 线性一致读、成员变更、快照、磁盘路径与故障测试。

第4章 分布式存储 已完成

4.1 Hash/Range 分片、副本放置、在线迁移与热点治理。

第5章 分布式计算 已完成

5.1 Map、Shuffle、Reduce、Combiner 正确性、重跑与输出提交。

第6章 微服务架构 已完成

6.1 服务边界、同步调用链、数据所有权与真实故障域。

第7章 容器化与编排 已完成

7.1 OCI 镜像、Namespace、Cgroup、容器安全与生命周期。

第8章 可观测性 已完成

8.1 指标、日志、追踪,以及 RED 与 USE 两种观察路径。

第9章 SRE 基础 已完成

9.1 SLI、SLO、错误预算与多窗口燃烧率告警。

第10章 IaC 与 GitOps 已完成

10.1 配置、状态、依赖图、Plan、模块、导入与漂移治理。

第11章 Kubernetes 生产实践 已完成

11.1 Gateway API、入口治理与默认拒绝 NetworkPolicy。

第12章 可观测性工程 已完成

12.1 基数预算、直方图、PromQL 与 Recording Rule。

本卷共 12 章,全部已完成

完整课目

本卷按“章 → 编号课次”组织。8.1、8.2 这样的文件是第 8 章下连续的短课,不是两个重复章节。

第 1 章:分布式系统模型:部分失败、时序与不可能边界

第 2 章:RPC 与序列化契约:远程调用不是本地函数

第 3 章:Raft:选举、日志复制与提交

第 4 章:分片与副本:数据放在哪里

第 5 章:MapReduce:分片、Shuffle 与失败恢复

第 6 章:微服务是故障拓扑,不是目录拆分

第 7 章:容器运行机制:镜像、隔离、资源与生命周期

第 8 章:可观测性信号:从用户症状到系统状态

第 9 章:SLI、SLO 与错误预算:把可靠性变成决策

第 10 章:IaC:状态、依赖图与安全变更

第 11 章:Kubernetes 流量边界:Gateway API 与 NetworkPolicy

第 12 章:指标工程:基数、直方图与 PromQL

Built with VitePress | Software Systems Atlas