tinyid、Leaf 分布式Id


tinyid( https://github.com/didi/tinyid)和Leaf( https://github.com/Meituan-Dianping/Leaf)都是分布式Id生成器。
目前Id生成器大体有2类算法:
1. snowflake算法
2. 基于数据库的号段算法
各自算法的原理这里不介绍了,代码都很简单, 这里说一个细节
Leaf项目中 关于snowflake算法实现上,在每秒开始的时候,sequence并不是从0开始的,而是在100内随机了一个数字,这种可以避免在请求比较少的情况下每次获取的ID都是以000结尾的,保证后续取模操作能够正常(比如对于数据库分表操作的)
我的注解版:


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM