更新時(shí)間:2025-06-09 13:15:53作者:貝語(yǔ)網(wǎng)校
Snowflake(雪花)是一個(gè)由阿里巴巴集團(tuán)開(kāi)發(fā)的分布式系統(tǒng)唯一ID生成算法。這個(gè)算法可以生成全局唯一ID,并且生成的ID長(zhǎng)度更短,易于序列化和解碼。它基于時(shí)間、機(jī)器、分區(qū)和序列號(hào)等信息生成,可以確保每個(gè)ID的唯一性。
Snowflake ID由以下幾部分組成:
1位符號(hào)位(0或1)
7位時(shí)間截(毫秒級(jí))
4位序列號(hào)(毫秒內(nèi))
12位數(shù)據(jù)中心機(jī)器ID(機(jī)器ID)
12位時(shí)間窗口的毫秒內(nèi)流水號(hào)
這種設(shè)計(jì)使得Snowflake ID具有全局唯一性,并且可以適應(yīng)大規(guī)模的分布式系統(tǒng)。在許多開(kāi)源和商業(yè)系統(tǒng)中,Snowflake ID被用作生成全局唯一標(biāo)識(shí)符,如數(shù)據(jù)庫(kù)主鍵等。
2. Snowflake timestamp:指基于Snowflake算法生成的timestamp,用于記錄時(shí)間戳。
3. Snowflake sequence:指Snowflake算法生成的序列號(hào),用于標(biāo)識(shí)某個(gè)時(shí)間點(diǎn)上的唯一序列。
5. Snowflake ID generation:指使用Snowflake算法生成ID的過(guò)程。
6. Snowflake sequence generation:指使用Snowflake算法生成序列號(hào)的過(guò)程。
7. Snowflake timestamp and sequence:指使用Snowflake算法生成的timestamp和序列號(hào),用于記錄和標(biāo)識(shí)某個(gè)時(shí)間點(diǎn)上的唯一信息。