雪花算法(SnowFlake),是Twitter开源
的分布式ID生成算法
主要是由 64bit 的 long 型生成的全局 ID,
其中分为四个部分:
① 最高1位固定值 0,因为生成的 id
是正整数
② 后面的41位存储毫秒级时间戳
③ 第三部分的10位存储机器码,包括
5位 datacenterId 和5位 workerId
最多可以部署 2^10=1024 台机器
④ 最后12位为存储序列号。同一毫秒
时间戳时,通过这个递增的序列号
来区分。即对于同一台机器而言,
同一毫秒时间戳下,可以生成
2^12=4096 个不重复 id
总的来说就是一个机房,一台机器,
在同一号毫秒时产生的 ID,可能在
同一秒钟产生不同的 ID,最后 12
bit 序列号可以区分在同一秒钟的不
同 ID.
雪花算法的保证:
① 所生成的ID按时间递增
② 整个分布式系统不会有重复的ID文章来源:https://www.toymoban.com/news/detail-429167.html
文章来源地址https://www.toymoban.com/news/detail-429167.html
到了这里,关于雪花算法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!