天天看點

分布式唯一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