『小小天看世界』几种生成唯一ID的方式( 二 )


Leaf-snowflake方案完全沿用snowflake方案的bit位设计 , 通过写zk来校验时钟是否回拨 , 解决时钟回拨问题 ,
『小小天看世界』几种生成唯一ID的方式
文章图片
解决时钟回退的问题
8、UID-generator是百度的开源ID生成算法 。 UidGenerator是Java实现的 , 基于Snowflake算法的唯一ID生成器 。 UidGenerator以组件形式工作在应用项目中 , 支持自定义workerId位数和初始化策略 , 从而适用于docker等虚拟化环境下实例自动重启、漂移等场景 。 在实现上 , UidGenerator通过借用未来时间来解决sequence天然存在的并发限制;采用RingBuffer来缓存已生成的UID,并行化UID的生产和消费 , 同时对CacheLine补齐 , 避免了由RingBuffer带来的硬件级「伪共享」问题.最终单机QPS可达600万 。