Snowflake,雪花算法是由Twitter开源的分布式ID生成算法,以划分命名空间的方式将 64-bit位分割成多个部分,每个部分代表不同的含义。这种就是将64位划分为不同的段,每段代表不同的涵义,基本就是时间戳、机器ID和序列数。为什么如此重要?因为它提供了一种ID生成及生成的思路,当然这种方案就是需要考虑时钟回拨的问题以及做一些 buffer的缓冲设计提高性能。
雪花算法-Snowflake
Snowflake,雪花算法是由Twitter开源的分布式ID生成算法,以划分命名空间的方式将 64-bit位分割成多个部分,每个部分代表不同的含义。而 Java中64bit的整数是Long类型,所以在 Java 中 SnowFlake 算法生成的 ID 就是 long 来存储的。
第1位占用1bit,其值始终是0,可看做是符号位不使用。
Snowflake算法是Twitter开源的分布式ID生成器,利用64位Long型数值生成全局唯一ID。该算法将ID划分为时间戳、机器标识和序列号三部分,保证了在分布式环境下的唯一性和趋势递增性。尽管存在时钟回拨可能导致ID重复的问题,但其高效稳定、灵活性高,被广泛应用于各类分布式系统中。除了Snowflake,还有如UidGenerator、Leaf等在其基础上演进的算法。
订阅专栏 解锁全文
894

被折叠的 条评论
为什么被折叠?



