雪花算法(Snowflake)生成的ID是一个64位的整数,结构如下:
- 1位符号位:始终为0,表示正数。
- 41位时间戳:表示当前时间与某个固定时间点(如:2021-01-01 00:00:00)的差值,单位是毫秒。这部分可以表示大约69年的时间。
- 10位机器标识:可以部署在1024个节点上。
- 12位序列号:在同一毫秒内,同一个节点可以生成的不同ID数,最多可以生成4096个。
因此,雪花算法生成的ID长度为:
1位符号位 + 41位时间戳 + 10位机器标识 + 12位序列号 = 64位
所以,雪花算法生成的ID长度是64位。