Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DistributedPaperLearnNotes

一个从分布式系统经典论文出发,延伸至后端架构设计、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 — 分布式时钟论文精讲

三、Raft 算法深度研究

路径: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 密钥管理)。

六、AI Agent 工程实践

路径: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 框架详解。

七、Java 生态源码深度解析

路径: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.md
  • Netty全面详解-配置与高级用法.md
  • SkyWalking_深度解析.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.txtraft算法.txtskywalking.txtspringcloud.txt — 早期学习笔记
  • 根目录 PNG 图片 — Raft 算法各概念的可视化图解(角色定义与切换、领导者/跟随者/候选人、心跳机制、日志同步场景、多数派原则、任期与日志索引、状态机和预写日志、一致性哈希算法系列、两阶段提交、读写一致性方案等)
  • windows电脑上的相关笔记/ 下的 git.txtJVM和Linux.txtnginx.txtshell.txtMCP服务器.txtKMP.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 以文档站点形式浏览。

About

一些著名分布式论文的学习笔记

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages