System Texture Lite -- 代码实现
《系统质感》配套代码仓库:用 Rust 从零实现 47 个后端核心组件。
本项目是 《System Texture Lite》 一书的配套代码,涵盖从请求入口到可观测性的完整后端技术栈。每个模块都是可编译、可测试 的真实实现,而非伪代码。
crates/
├── ch01-request-entry/ # 请求入口
├── ch02-distributed/ # 分布式协调
├── ch03-modeling/ # 业务建模
├── ch04-data-engine/ # 数据引擎
├── ch05-data-pipeline/ # 数据管道
└── ch06-observability/ # 可观测性
第 1 章:请求入口 (ch01-request-entry)
模块
说明
reactor
基于 epoll 的事件驱动 reactor(仅 Linux)
work_stealing
Chase-Lev 无锁工作窃取队列
two_tier_pool
Pingora 风格的冷热分离连接池
radix_router
压缩 Radix Tree URL 路由器
smooth_wrr
平滑加权轮询负载均衡
p2c
Power of Two Choices + Peak EWMA 负载均衡
rate_limiter
Token Bucket / GCRA / Count-Min Sketch 限流器
tinyufo
TinyUFO 缓存(Small/Main 双队列 + 频率准入)
singleflight
请求合并去重
middleware
Tower 风格的 Service/Layer 中间件框架
第 2 章:分布式协调 (ch02-distributed)
模块
说明
consistent_hash
Ketama 一致性哈希环 + 虚拟节点
raft
Raft 共识(选举、日志复制、Pre-Vote)
swim
SWIM Gossip 故障检测协议
crdt
CRDT(G-Counter / LWW-Register / OR-Set)
snowflake
Snowflake 分布式 ID + UUID v7 生成器
circuit_breaker
三态熔断器(滑动窗口 + 原子状态转换)
backoff
指数退避 + 抖动策略 + 重试预算
第 3 章:业务建模 (ch03-modeling)
模块
说明
type_state
Type-State 模式(编译期状态机)
actor
Actor 模型(类型化邮箱 + 监督重启)
saga
Saga 编排器(前向执行 + 反向补偿)
statechart
状态图(层次状态、并行区域、守卫条件)
event_sourcing
事件溯源(追加日志 + 快照 + 投影)
第 4 章:数据引擎 (ch04-data-engine)
模块
说明
bplus_tree
B+ 树(有序索引 + 范围查询)
lsm
LSM-Tree(MemTable + SSTable + 分层合并)
wal
Write-Ahead Log(CRC 校验 + 崩溃恢复)
skiplist
无锁并发跳表
mvcc
多版本并发控制(快照隔离 + GC)
bloom_filter
布隆过滤器(概率成员检测)
lru
LRU 缓存(O(1) 淘汰 + 分片并发)
dashmap
分片并发 HashMap
arena
Arena 分配器(批量分配、批量释放)
第 5 章:数据管道 (ch05-data-pipeline)
模块
说明
kafka_log
分段追加日志(稀疏索引 + CRC 校验)
watermark
事件时间水印 + 翻转窗口引擎
incremental_compute
差分数据流增量计算
columnar
列式存储(字典编码 + 位图过滤)
vectorized_exec
Morsel 驱动的向量化执行引擎
count_min_sketch
Count-Min Sketch 概率频率估计
hyperloglog
HyperLogLog 基数估计(稀疏/稠密双模式)
topk_space_saving
Space-Saving Top-K 热点检测
第 6 章:可观测性 (ch06-observability)
模块
说明
span_tree
W3C Trace Context Span 树
exp_histogram
OpenTelemetry 指数直方图
tdigest
T-Digest 流式分位数估计
sliding_window
无锁滑动窗口指标聚合
flame_graph
火焰图生成(折叠栈 + SVG 渲染 + Diff)
ewma
指数加权移动平均(含方差追踪 + 原子变体)
adaptive_timeout
RFC 6298 自适应超时(Karn 算法)
# 克隆仓库
git clone https://github.com/tyrchen/system-texture-lite-code.git
cd system-texture-lite-code
# 构建所有 crate
cargo build
# 运行全部测试
cargo test
# 代码检查
cargo clippy -- -D warnings
Rust : Edition 2024 (rustc 1.85+)
平台 : macOS / Linux(reactor 模块仅限 Linux)
MIT