一个从分布式系统经典论文出发,延伸至后端架构设计、AI Agent 工程实践、中间件源码剖析的综合性技术知识库。
本仓库是作者在系统学习分布式系统过程中逐步积累的笔记、代码和实践记录,涵盖从理论基础(MIT 6.824 课程、经典论文精读)到工程落地(Raft 算法 Java 实现、SOFA-JRaft 源码分析、Netty/Dubbo/Sentinel 源码解析),再到前沿方向(AI Agent 架构、RAG、LangChain/LangGraph)的全链路知识体系。
| 模块 | 核心内容 | 文件量级 |
|---|---|---|
| 分布式系统理论 | MIT 6.824 课程、一致性模型、共识算法、CAP/BASE、分布式时钟 | 60+ 篇 |
| 经典论文精读 | CAP、Paxos、Raft、Spanner、Chubby、ZooKeeper、LSM-Tree 等 | 15+ 篇论文 + 讲解 |
| Raft 算法研究 | Java 实现、SOFA-JRaft 源码、Vertical Paxos、Multi-Raft | 30+ 篇 + 完整代码 |
| 后端架构设计 | RPC、消息队列、缓存、分布式锁、限流熔断、ServiceMesh 等 | 50 篇 |
| 业务系统架构 | 秒杀、购物车、优惠券、库存、订单、支付等 30 个系统设计 | 30 篇 |
| AI Agent 工程 | 上下文管理、记忆系统、工具权限、多 Agent 架构、RAG、Skill 设计 | 15+ 篇 |
| Java 源码解析 | Netty 17 篇、Dubbo 8 篇、Sentinel 6 篇、MyBatis、Spring 等 | 35+ 篇 |
| 中间件笔记 | Redis、RabbitMQ、MySQL、Elasticsearch、MongoDB、K8s 等 | 40+ 篇 |
| 计算机基础 | 计算机网络、计算机组成原理、CSAPP Labs、操作系统 | 30+ 篇 |
路径:DistributedSystem/
这是整个知识库的理论基石,包含两大子模块:
1. DistributedSystem-Notes/ — 结构化的分布式系统知识体系,按照主题组织:
01~分布式基础/— 不可靠的分布式系统(网络、时钟、进程)、节点与集群、CAP 定理、日志模型(WAL、分割日志)。附有 Distributed Systems for Fun and Profit 中文翻译和 Patterns of Distributed Systems 模式集(24 个分布式设计模式详解)。02~一致性与共识/— 一致性模型全谱(线性一致性、顺序一致性、因果一致性、最终一致性)、共识算法(Paxos、Raft、ZAB)、分布式时钟与序列号、拜占庭问题。10~分布式存储/和20~分布式计算/— 存储与计算专题的延伸阅读链接。88~其他分布式概念/— 分布式 ID、分布式事务、分布式锁、分布式数据库、分布式操作系统的概念索引。GFS/— Google File System 深度解析,包括并发读写冲突分析、HDFS 源码读写流程、脑裂与主节点宕机恢复方案。RPCAndThreads/— MIT 6.824 课程第一讲:RPC 与线程模型。课程前提/— Go 语言学习笔记(MIT 6.824 实验语言)。
2. MIT6.824_DistributedSystem/ — MIT 6.824 分布式系统课程的完整实验代码与文档:
src/mapreduce/— Lab 1: MapReduce 完整实现(含测试通过截图)。src/raft/— Lab 2: Raft 共识算法 Go 实现(含 Part 2A/2B/2C 实验报告与调试日志)。lab/lab3_KVServer/— Lab 3: 基于 Raft 的分布式 KV 服务器架构文档。
路径:papers/
收录了分布式系统领域的经典论文 PDF 及其配套讲解文档。index.json 记录了 40+ 篇论文的元数据(标题、DOI、下载状态),index.csv 提供表格化索引。
已收录的论文 PDF 包括:
- CAP 理论 — Brewer 猜想与 CAP 定理原始论文、CAP Twelve Years Later
- 共识算法 — Paxos Made Simple、Vertical Paxos、TiDB 基于 Raft 的高性能写数据库
- 分布式存储 — LSM-Tree、RocksDB、Facebook Haystack 照片存储、Google Spanner
- 分布式协调 — Google Chubby 锁服务、ZooKeeper
- 分布式时钟 — Virtual Time and Global States of Distributed Systems
- 机器学习系统 — Scaling Distributed Machine Learning with the Parameter Server
- 其他 — 共识算法中的分区同步现象、两阶段提交简要说明、一个可扩展的互联网应用点对点查询服务
配套的论文讲解文档分布在仓库根目录和 RaftByJava_副本/ 中,采用"teacher-style"讲解风格,将论文核心思想拆解为易懂的中文解读:
lsmtree-raft-teacher-style讲解.md— LSM-Tree 论文精讲RocksDB-raft-teacher-style讲解.md— RocksDB 论文精讲TiDB-基于raft的高性能写数据库-raft-teacher-style讲解.md— TiDB 论文精讲vertical-paxos-raft-teacher-style讲解.md— Vertical Paxos 论文精讲分布式时钟领域大作-raft-teacher-style讲解.md— 分布式时钟论文精讲
路径:RaftByJava_副本/
这是整个知识库中最具深度的实践模块,从论文理解到工程落地形成完整闭环:
原创 Raft Java 实现 (src/main/java/com/raft/):完整的 Raft 共识算法 Java 实现,包含核心模块(选举管理、日志管理、复制管理、快照管理、持久化、状态机)、RPC 通信层(基于 Netty 的客户端/服务端、消息编解码)、以及完整的消息类型定义(RequestVote、AppendEntries、InstallSnapshot 等)。
深度研究文档:
我眼里的Raft.md— 从第一性原理理解 Raft 算法设计我眼里的Multi-Raft.md— Multi-Raft 架构分析(Region 分裂与迁移)工程落地的Raft源码讲解-结合我眼里的Raft.md— 结合自研代码的工程落地讲解Raft工程落地思维.md— 从理论到工程的思维转换Raft算法-写代码前研究提纲.md— 实现前的系统性研究框架Raft节点启动流程详解.md— 节点启动全流程剖析分布式集群算法选型思维.md— Raft vs Paxos vs ZAB 选型决策Redis与Raft的取舍.md— Redis Cluster 与 Raft 的权衡Vertical Paxos与Raft的关系.md+Vertical Paxos论文逐节精讲.md— Vertical Paxos 论文逐节解读及其与 Raft 的关系Spec-Coding完整流程指南.md— 规范化编码实践
SOFA-JRaft 源码分析 (sofa-jraft/):蚂蚁金服开源的生产级 Raft 实现完整源码,包含核心模块(NodeImpl、Replicator、BallotBox、FSMCaller)、存储层(LogManager、SnapshotStorage)、RPC 层、RheaKV 分布式 KV 引擎,以及扩展模块(gRPC RPC 实现、BDB 日志存储)。
Netty 源码全流程解析 (output/):17 篇系列文章,从 NioEventLoop 线程模型到 ByteBuf 内存管理,从 ChannelPipeline 责任链到零拷贝实现,覆盖 Netty 全部核心机制。
Dubbo 源码全流程解析 (docs-advanced-config/):8 篇 Dubbo 源码深度解析,加上 6 篇 Sentinel 流控框架源码分析。
路径:后端架构设计文档/
50 篇系统性后端架构设计文档,每篇聚焦一个后端核心组件或架构主题,涵盖从设计原理到工程实践的完整链路:
分布式基础设施(01-12):RPC 框架与服务治理、消息队列、缓存体系、分布式锁、分布式 ID 生成、配置中心、限流降级熔断、分布式事务、分布式任务调度、数据库与分库分表、数据同步与 CDC、文件存储与对象存储。
网络与流量(13-16):搜索引擎、API 网关、七层 HTTP 网关、流量路由与灰度发布。
可观测性与稳定性(17-22):分布式链路追踪、可观测性体系、日志系统、容量规划与全链路压测、故障演练与混沌工程、故障分析。
云原生与基础设施(23-26):容器集群平台、镜像服务、Serverless、ServiceMesh。
编程与工程实践(27-32):并发编程、JVM 与 GC 优化、网络编程、Java 编码规范、微服务架构与 DDD、API 设计与网关安全。
业务系统架构(33-42):认证授权体系、风控系统、支付与交易系统、订单系统、推荐系统、推送系统、LBS 与地理位置服务、IM 即时通讯系统、实时计算与流处理、数据仓库与 OLAP。
研发效能与组织(43-50):CICD 与发布、代码质量与 CodeReview、AB 测试与实验平台、工作流引擎与规则引擎、静态网站托管、SET 化治理、大模型助力研发提效、研发组织转型。
路径:业务系统架构设计文档/
30 个常见互联网业务系统的架构设计方案,每个文档包含系统概述、核心架构设计、关键技术创新点、数据模型、接口设计和难点分析:
电商核心(秒杀、购物车、优惠券、红包、库存、商品中心、会员、积分、营销促销、售后退款、物流、评论),内容与社交(Feed 流、短链接、排行榜、点赞、弹幕、内容审核、直播、短视频、社交图谱),平台基础设施(消息通知中心、多租户 SaaS、权限系统、工单系统、审批流系统、计费系统、账务系统、在线文档、监控系统、登录认证、KMS 密钥管理)。
路径:harnessEngineer/ + agent八股文详解/ + pythonai框架的使用和细节/
从 Agent 底层机制到工程实现的完整知识体系:
Agent 工程机制 (harnessEngineer/):
- 上下文管理机制 + 实战实现
- 记忆功能机制 + 实战实现(含 Python 代码
agent_context_demo.py) - 工具和权限机制 + 实战实现
- 紧急停止机制
- 多 Agent 架构 + 实战实现
- RAG 检索增强生成深度解析 + 补充材料
- Agent 评测体系深度解析
- Skill 设计 D8 原则详解
AI 面试题体系 (agent八股文详解/大模型面试题/):Agent 面试题(上/下)、RAG 面试题(上/下)、LLM 工具调用面试题、大模型工程面试题(上/下)。
图解系列 (agent八股文详解/):图解 Agent 全集、ClaudeCode 实战技巧与源码解析。
Python AI 框架 (pythonai框架的使用和细节/):LangChain 框架详解、LangGraph 框架详解。
路径:RaftByJava_副本/output/ + RaftByJava_副本/docs-advanced-config/ + 根目录散篇
Netty 源码系列(17 篇):从 NioEventLoop 线程模型到 Channel 体系与生命周期,从 ChannelPipeline 责任链到 ByteBuf 内存管理,从 Bootstrap 启动流程到编解码器框架,从写缓冲区与 Flush 机制到零拷贝与 FileRegion,从内存泄漏检测到 TCP 连接管理,从 HTTP 协议支持到 epoll/kqueue 原生传输,最终总结 Netty 整体架构与分层设计哲学,并从 Netty 视角理解 Dubbo 与 RocketMQ 网络层设计。
Dubbo 源码系列(8 篇):SPI 扩展点与插件替换、线程池与消息派发、启动优化与连接管理、集群容错与负载均衡、RpcContext 与隐式传参、服务治理与流量管控、Filter 链与自定义扩展、配置中心与元数据与链路追踪与泛化调用,以及 Exchange 与 Transport 分层设计、URL 全流程变化形态、服务暴露与引用的全流程源码解析。
Sentinel 源码系列(6 篇):核心入口责任链执行、流量控制限流规则、热点参数限流令牌桶与 LRU 缓存、熔断降级 CircuitBreaker 状态机、系统自适应保护 BBR 算法、规则动态配置 DataSource 与 PropertyListener 的全流程源码解析。
其他源码与深度解析(根目录):
Java字节码增强技术深度解析_ByteBuddy_Javassist_JavaAgent.mdNetty全面详解-配置与高级用法.mdSkyWalking_深度解析.md+SkyWalking-OAP-源码架构全景.md
路径:笔记讲解/ + windows电脑上的相关笔记/常用中间件超详细剖析/
笔记讲解/ — 深度技术博客级别的中间件解析,覆盖:
- 存储类:RocksDB 深度解析、Lucene 深度解析与可复用思维提炼、Zebra 数据库访问中间件、Squirrel 分布式缓存、关系型与非关系型数据库分布式架构实践
- 消息类:企业级分布式消息队列系统深度解析、RabbitMQ 深度解析、xxl-job 深度解析、Crane 分布式任务调度
- 基础设施类:K8s 全方位深度讲解(5 个 Part)、企业级 SET 化架构、企业级网关架构、企业级内网架构、企业级分布式架构与高并发设计
- 网络类:交换机深度解析、路由器深度解析、企业网络终端隔离与同子网互访原理、远程控制软件底层链路设计
- 其他:Git 底层原理、Maven 全面说明书、HotRing 详解、Thrift 与 Pigeon 协议、Lion 配置中心、macOS vs Windows 内存管理差异、Rust 学习路线、分布式事务知识体系、数据库能力专题、延时任务方案对比、状态机自动生成测试用例
常用中间件超详细剖析/ — 以图文并茂的方式剖析 Redis 各数据类型(String/List/Set/Zset)、MySQL 索引与锁、Dubbo 调用流程、Sentinel 核心概念、Spring Cloud Gateway、Nacos、Seata、数据库分库分表等核心中间件。
路径:windows电脑上的相关笔记/
计算机网络2/— 物理层到应用层的完整网络协议笔记,含大量架构图(ARP、DHCP、NAT、以太网 MAC 帧、IP 分组、CIDR、路由聚合等)计算机组成原理/— 计算机组成原理课程笔记CSAPP/— CSAPP(深入理解计算机系统)9 个 Lab 的完整实现(Data Lab、Bomb Lab、Attack Lab、Arch Lab、Cache Lab、Perf Lab、Shell Lab、Malloc Lab、Proxy Lab)JUC/— Java 并发编程实战代码准备面试八股/— JVM、Netty、Redis、RabbitMQ、监控系统等面试核心知识点
路径:百个应用链路测试方案和细节企业版/
- 企业级多环境隔离架构:一套代码如何自动连接正确的环境
- 全链路灰度测试架构解析
- 测试开发监听器和上报器学习
- 状态机自动生成测试用例详解
路径:根目录散篇 + windows电脑上的相关笔记/
MapReduce.txt、raft算法.txt、skywalking.txt、springcloud.txt— 早期学习笔记- 根目录 PNG 图片 — Raft 算法各概念的可视化图解(角色定义与切换、领导者/跟随者/候选人、心跳机制、日志同步场景、多数派原则、任期与日志索引、状态机和预写日志、一致性哈希算法系列、两阶段提交、读写一致性方案等)
windows电脑上的相关笔记/下的git.txt、JVM和Linux.txt、nginx.txt、shell.txt、MCP服务器.txt、KMP.txt等技术八股windows电脑上的相关笔记/ai-guide/— AI 编程指南(Vibe Coding 教程、DeepSeek 使用指南等)windows电脑上的相关笔记/VideoCode/— A2A 协议深度解析、MCP 终极指南、RAG 系统构建、Agent 概念原理等视频配套代码.tmp-source-study/reactor-core/— Reactor Core 源码学习
如果你是分布式系统的初学者,建议按以下顺序阅读:
第一阶段:建立直觉。 从 DistributedSystem/DistributedSystem-Notes/01~分布式基础/ 开始,理解分布式系统为什么"不可靠"(网络不可靠、时钟不可靠、进程不可靠),然后学习 CAP 定理和 BASE 理论,建立对分布式系统核心权衡的直觉。
第二阶段:论文精读。 阅读 papers/ 中的经典论文,配合根目录下的 teacher-style 讲解文档。推荐顺序:CAP → Paxos Made Simple → Raft → LSM-Tree → GFS → Chubby → ZooKeeper → Spanner。
第三阶段:算法实现。 参考 DistributedSystem/MIT6.824_DistributedSystem/ 中的 MIT 6.824 实验代码,尝试自己实现 MapReduce 和 Raft。然后阅读 RaftByJava_副本/ 中的 Java 版 Raft 实现和 SOFA-JRaft 源码,理解工业级 Raft 的工程细节。
第四阶段:架构视野。 阅读 后端架构设计文档/ 中的 50 篇架构设计文档,建立后端系统全貌认知。然后根据兴趣选择 业务系统架构设计文档/ 中的具体业务系统进行深入学习。
第五阶段:前沿探索。 进入 harnessEngineer/ 学习 AI Agent 的工程化实现,结合 pythonai框架的使用和细节/ 中的 LangChain/LangGraph 笔记进行实践。
本知识库包含多种文件格式,各有用途:
.md— 主要的笔记和文档格式,推荐使用支持 Markdown 渲染的编辑器阅读.txt— 早期笔记和快速记录的内容.pdf— 论文原文.png/.jpg/.webp— 架构图和概念图解.go— MIT 6.824 实验代码(Go 语言).java— Raft Java 实现、各种 Java 项目源码.py— Agent 工程实战代码.html— 交互式文档和架构对比图.json/.csv— 论文索引和配置文件
提示: 根目录下的 PNG 图片是 Raft 算法和分布式核心概念的可视化图解,建议配合相关文档一起阅读。
DistributedSystem/DistributedSystem-Notes/可通过index.html以文档站点形式浏览。