双 Buffer 机制

双 Buffer 是号段模式的核心优化,提供零等待的 ID 生成体验。

原理

1. 基本 Buffer

Buffer: [1000, 2000]
分配:1001, 1002, 1003, ...
用完:需要获取新 Buffer

2. 双 Buffer

Buffer 1: [1000, 2000] ← 当前使用
Buffer 2: [2000, 3000] ← 预加载

Buffer 1 用完 → 切换到 Buffer 2
同时预加载 Buffer 3

实现

Java 实现


性能优势

零等待

单 Buffer:
分配 1000 个 ID
Buffer 用完
等待获取新 Buffer(100ms)
继续分配

双 Buffer:
分配 1000 个 ID
Buffer 用完
立即切换(< 1ms)
继续分配

性能提升

单 Buffer:100,000 QPS
双 Buffer:10,000,000 QPS

性能提升:100x

最佳实践

1. 合理设置步长

2. 后台预加载

3. 监控 Buffer 使用率


下一步

了解了双 Buffer 机制后,我们学习高可用设计。

👉 下一节:高可用设计