Skip to content

更多项目

来自数据库、JVM 生态、浏览器及其他知名开源项目的模式。

数据库与存储

模式项目位置作用
MVCCPostgreSQLheapam_visibility.cHeapTupleSatisfiesMVCC — 快照隔离可见性检查
预写日志PostgreSQLxlog.c事务 WAL 用于崩溃恢复、复制、PITR
MVCCetcdkvstore.go多版本 KV 存储,驱动 Kubernetes 配置
预写日志etcdwal.goRaft 共识 WAL 用于分布式状态
LRU 缓存Redisevict.c近似 LRU——基于采样的淘汰池
Trie 前缀树Redisrax.c / rax.hRAX 压缩前缀树,用于 Streams 和有序键范围
跳表Redist_zset.c有序集合实现,概率平衡
布隆过滤器LevelDBbloom.cc块级布隆过滤器跳过不必要的磁盘读取
跳表LevelDBskiplist.h无锁 memtable,原子 next 指针
Arena 分配器LevelDBarena.cc基于块的 arena 分配器用于 memtable
合并迭代器LevelDBmerger.ccMergingIterator 合并有序迭代器(memtable + SSTable 各层)为单一有序视图
LSM 树LevelDBdb_impl.ccDBImpl::Write——批量写入 WAL,插入 memtable,阈值时刷入 SST
合并迭代器RocksDBmerge_helper.ccTimedFullMerge 在 compaction 期间合并同键的多个版本
LSM 树RocksDBmemtable.ccMemTable::Add——跳表支撑的 memtable,写满后刷入 L0 SST
B+ 树PostgreSQLnbtinsert.cB-link 树(Lehman-Yao 变体)——所有表和索引均由磁盘页上的 B+ 树支撑
B+ 树SQLitebtreeInt.h内部单元持有子页指针 + 键;叶单元持有有效载荷。通过 balance_nonroot() 实现页面分裂
默克尔树ZFS (OpenZFS)blkptr.c块指针校验和形成 Merkle 树,从数据块到 uberblock,检测静默数据损坏
检查点PostgreSQLcheckpointer.cCheckpointerMain——刷新脏缓冲区,写检查点 WAL 记录,更新 pg_control
检查点Redisrdb.crdbSaveRio——fork 子进程写入时间点 RDB 快照,不阻塞主线程

JVM 生态

模式项目位置作用
Actor 模型AkkaActor.scalatrait Actor — JVM 上的消息驱动并发
熔断器Netflix HystrixHystrixCircuitBreaker.java微服务弹性的三态熔断器
批处理Apache KafkaRecordAccumulator.java按分区累积记录为批次
工作窃取OpenJDKForkJoinPool.javascan 方法实现随机化工作窃取
LRU 缓存GuavaCacheBuildermaximumSize() LRU 淘汰
限流器GuavaRateLimiter平滑突发/预热令牌桶
一致性哈希groupcacheconsistenthash.go带虚拟副本的哈希环(Brad Fitzpatrick 作品)

Erlang / BEAM 虚拟机

模式项目位置作用
Actor 模型Erlang/OTPerl_process.hBEAM VM 进程结构体——带信箱的轻量级 Actor
协作调度Erlang/OTPBEAM 调度器基于 reduction 的抢占,支持数百万进程
信号量Erlang/OTPerl_process_lock.c进程锁保证安全的并发访问

浏览器与 Web

模式项目位置作用
布隆过滤器Chromiumselector_filter.hCSS 选择器布隆过滤器——跳过 60-70% 的规则
位掩码ReactReactFiberFlags.jsFiber 副作用标志——PlacementUpdateDeletion
双缓冲ReactFiber 架构current 树与 work-in-progress 树在 commit 时交换
差异/补丁ReactReactChildFiber.js基于 key 的列表 reconciliation

基础设施与云

模式项目位置作用
指数退避重试Kubernetesbackoff.goPod 重启退避、API 服务器重试
指数退避重试gRPC-Gointernal/backoff/backoff.go带抖动的指数连接退避
依赖图Terraform资源图DAG 顺序的并行资源 apply
依赖图BazelAction 图构建目标的拓扑执行
注册表gRPC-Goserver.goRegisterService 将服务描述添加到服务器的服务映射中,用于 RPC 方法分发
注册表TensorFlowop.hREGISTER_OP 宏将操作注册到全局 OpRegistry,用于构建计算图
一致性哈希Nginxngx_http_upstream_hash基于 ketama 哈希的上游负载均衡

编译器与语言运行时

模式项目位置作用
访问者LLVMInstVisitor.hCRTP 访问者按 IR 指令操作码分发,用于优化 pass
访问者Vue.jstransforms/vIf.tstransformIfNodeTransform 访问者,遍历模板 AST
虚函数表CPythonobject.hPyTypeObject 虚表——tp_reprtp_hashtp_call、协议套件
驻留CPythonunicodeobject.cPyUnicode_InternInPlace——驻留标识符字符串实现 O(1) 字典查找
驻留Rust (rustc)symbol.rsSymbol 是全局驻留表的 u32 索引——所有标识符均驻留
标签联合体Godot Enginevariant.hVariant::Type 枚举 + 联合体——每个 GDScript 值都是 Variant
标签联合体PyTorchivalue.hIValue 持有 Tag 枚举 + Payload 联合体,用于 TorchScript 解释器

延伸阅读

基于 MIT 许可证发布。