Java教程

全局ID -- 雪花算法

本文主要是介绍全局ID -- 雪花算法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

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

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

参考:

https://techcrunch.com/2010/10/18/twitter-snowflake-2/ 

这篇关于全局ID -- 雪花算法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!