雪花算法

✍ dations ◷ 2025-08-03 04:34:35 #雪花算法

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

一个Snowflake ID有64位元。前41位是时间戳,表示了自选定的时期(英语:Epoch_(computing))以来的毫秒数。 接下来的10位代表计算机ID,防止冲突。 其余12位代表每台机器上生成ID的序列号,这允许在同一毫秒内创建多个Snowflake ID。最后以十进制将数字序列化。

SnowflakeID基于时间生成,故可以按时间排序。 此外,一个ID的生成时间可以由其自身推断出来,反之亦然。该特性可以用于按时间筛选ID,以及与之联系的对象。

2022年六月由@Wikipedia所发的一条推文的雪花ID是1541815603606036480。这个数字被转换成二进制就是0b 0001 0101 0110 0101 1010 0001 0001 1111 0110 0010 00|01 0111 1010|0000 0000 0000,其中以竖线分隔成三个部分。

这个格式最初由Twitter在2010年宣布。由于实现上的困难,他们在该年稍晚才推出更新。Twitter对推文、私讯、用户、列表和其他可透过API存取的对象使用雪花ID。

Discord同样也使用雪花ID,纪年则从2015年的第一秒开始。

Instagram使用了修改后的版本,其中41位元用作时间戳,13位元用于表示分片(Shard)ID,10位元表示序列号。

相关

  • 心血管病心血管疾病(英语:cardiovascular disease,簡稱CVD)指的是关于心脏或血管的疾病,又称为循环系统疾病、循环系统疾病。常见的心血管疾病包括冠状动脉症候群、中风、高血压性心脏病(
  • 手掌手是人或其他灵长类动物臂前端的一部分,由五只手指以及手掌组成,主要是用来抓和握住东西,两个手相互对称,互为镜像。除了天生有残缺或有增生,一般人有左手和右手各一,每只手有五只
  • 最多以下是根据有关世界上规模最大的银行的一系列列表,银行的规模大小由资产和市值决定。以下排名来自Relbanks于2017年做出的世界银行资产规模前20排名。注意,计算手法的不同可能
  • 1-溴十二烷1-溴十二烷是一种卤代烃,化学式为C12H25Br,可用于合成新洁尔灭等化学品。1-溴十二烷可由十二醇在硫酸的存在下和氢溴酸反应得到:溴化钾可代替氢溴酸进行反应。
  • 国语纯化运动国语纯化运动(韩语:국어순화)是指大韩民国将外来语以及汉字熟语使用韩语固有语进行替换的语言改革运动。这和排斥汉字、只用谚文来表记韩语专用(只使用谚文表记汉字词、并不谋求
  • 尚-皮耶·达胡桑尚-皮耶·达胡桑(法语:Jean-Pierre Darroussin,1953年12月4日-)是法国男演员、导演和编剧,他曾以《欢乐家庭晚餐(法语:Un air de famille (film, 1996))》获得凯萨电影奖最佳男配角。
  • 中国电影评论学会中国电影评论学会是中华人民共和国电影评论、理论工作者组成的群众性学术团体,是国家广播电视总局主管的社会团体,1981年1月24日在北京市成立。首任会长钟惦棐。
  • 赵源熙赵源熙(1983年4月17日-),也被译作赵元熙,出生于韩国首尔,是一位韩国足球运动员。赵源熙在2002年加盟K联赛球队蔚山现代,开始自己的职业足球生涯。2003年,他转投K联赛新组建的军队球
  • 第十届世界华商大会第十届世界华商大会(The 10th World Chinese Entrepreneurs Convention)是于2009年11月20日至21日在菲律宾首都马尼拉举办的一届世界华商大会,由菲律宾华商联合总会主办。有来
  • SIGGRAPHSIGGRAPH是由ACM SIGGRAPH(美国计算机协会计算机图形专业组)组织的计算机图形学顶级年度会议。第一届SIGGRAPH会议于1974年召开。该会议有上万名计算机从业者参加,最近一次在洛