天天看点

分布式唯一ID之雪花算法(Snowflake)原理分析

先来看看雪花算法生成的唯一ID的结构:

分布式唯一ID之雪花算法(Snowflake)原理分析

如上图所示,雪花算法生成的ID一共64bit。共分为4个组成部分来保证唯一性,分别是:

1bit:不使用,默认为0

41bit:单位毫秒,时间戳 = 当前系统时间 - 系统上线时间

10bit:机器ID,可同时部署的机器节点数 210-1=1023

12bit:序列号,当时间戳和机器ID相同时,此值递增保证唯一性。即同一机器同一毫秒可生成的唯一ID数为212-1

下面通过Hutool提供的雪花算法工具类源码来学习一下:

END

作者:金木研King

转载请注明原文链接:javascript:void(0)p/15190899.html