分布式系统与架构
在时钟不一致、网络会中断、节点会失效的条件下,设计仍可推理的系统。
当系统跨过海峡部署到多座岛屿,单机时代默认成立的条件开始逐一失效:消息可能迟到,节点可能失联,不同副本看到的事实也不一致。你们必须先写清系统模型,再决定一致性、可用性、共识、调度与恢复策略。
旅程位置:工匠议事厅 → 分布式群岛(在部分失败中保持服务)→ 安全要塞
前置要求
需要系统基础。理解网络、线程、并发(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 分片、副本放置、在线迁移与热点治理。
第4章·第2课 已完成 4.2 Leaderless、Quorum、Cassandra 读写路径、冲突与副本修复。
第4章·第3课 已完成 4.3 HDFS 与 Spanner:从工作负载推导协调与存储成本。
第5章 分布式计算 已完成
5.1 Map、Shuffle、Reduce、Combiner 正确性、重跑与输出提交。
第5章·第2课 已完成 5.2 RDD lineage、DAG、DataFrame 优化、Join 与数据倾斜。
第6章 微服务架构 已完成
6.1 服务边界、同步调用链、数据所有权与真实故障域。
第6章·第2课 已完成 6.2 数据面、控制面、身份、配置、发布、恢复与平台指标。
第7章 容器化与编排 已完成
7.1 OCI 镜像、Namespace、Cgroup、容器安全与生命周期。
第7章·第2课 已完成 7.2 声明状态、控制循环、工作负载、探针、资源与弹性伸缩。
第8章 可观测性 已完成
8.1 指标、日志、追踪,以及 RED 与 USE 两种观察路径。
第8章·第2课 已完成 8.2 OpenTelemetry 埋点、上下文、采样、Collector 与降级。
第9章 SRE 基础 已完成
9.1 SLI、SLO、错误预算与多窗口燃烧率告警。
第9章·第2课 已完成 9.2 On-call、事件指挥、沟通、复盘与 Toil 治理。
第10章 IaC 与 GitOps 已完成
10.1 配置、状态、依赖图、Plan、模块、导入与漂移治理。
第10章·第2课 已完成 10.2 持续协调、制品晋级、Secrets、回滚与 Break-glass。
第11章 Kubernetes 生产实践 已完成
11.1 Gateway API、入口治理与默认拒绝 NetworkPolicy。
第11章·第2课 已完成 11.2 StatefulSet、PV/PVC、探针、快照、恢复与 Operator。
第11章·第3课 已完成 11.3 Requests/Limits、调度、HPA、PDB 与租户边界。
第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
- 11.1 Kubernetes 流量边界:Gateway API 与 NetworkPolicy
- 11.2 Kubernetes 有状态工作负载:身份、存储与恢复
- 11.3 Kubernetes 容量治理:调度、扩缩容与中断