雪花算法

维基百科,自由的百科全书
跳到导航 跳到搜索

雪花算法(Snowflake)是一种生成分布式全局唯一ID的算法,生成的ID称为Snowflake IDs或snowflakes。这种算法由Twitter创建,并用于推文的ID。DiscordInstagram等其他公司采用了修改后的版本。

1358666646167748608
Snowflake ID
别名Twitter Snowflake

一个Snowflake ID有64位元。前41位是时间戳,表示了自选定的时期英语Epoch_(computing)以来的毫秒数。 接下来的10位代表计算机ID,防止冲突。 其余12位代表每台机器上生成ID的序列号,这允许在同一毫秒内创建多个Snowflake ID。SnowflakeID基于时间生成,故可以按时间排序。[1] 此外,一个ID的生成时间可以由其自身推断出来,反之亦然。该特性可以用于按时间筛选ID,以及与之联系的对象[2]

参考文献[编辑]

  1. ^ twitter-archive/snowflake. GitHub. [2021-02-10] (英语). 
  2. ^ Twitter's Snowflake Project To Update Tweet IDs Really Is More Like A Blizzard Now. TechCrunch. [2021-02-10] (美国英语). 

外部連結[编辑]