雪花算法(Snowflake)生成的ID是一个64位的整数,结构如下:

  • 1位符号位,始终为0,表示正数。
  • 41位时间戳,表示当前时间与某个固定时间点(如:2021-01-01 00:00:00)的差值,单位是毫秒。这部分可以表示大约69年的时间。
  • 10位机器标识,可以部署在1024个节点上。
  • 12位序列号,用于标识同一毫秒内产生的不同ID,最多可以支持4096个ID。

因此,雪花算法生成的ID总长度为64位。这种结构可以确保在分布式系统中生成全局唯一的ID,同时具有较好的性能和可扩展性。