工具加载中...
工具介紹
線上 Snowflake ID 產生器,用於批次產生 Snowflake ID 識別碼,應用於分散式系統。
什麼是 Snowflake ID 產生器?
Snowflake ID 產生器是一種分散式唯一識別碼產生系統,由 Twitter 在 2010 年推出。它旨在產生高效且唯一的 64 位元 ID,用於分散式系統中需要產生唯一 ID 的場景。Snowflake ID 的設計特點使其能夠在分散式環境中產生唯一且有序的 ID,而無需依賴中央協調器。
一個 Snowflake ID 通常包含以下幾個部分:
時間戳記部分(41 位元):表示產生 ID 的時間(以毫秒為單位),可以持續使用約 69 年。
資料中心 ID 部分(5 位元):表示產生 ID 的資料中心,可以支援 32 個資料中心。
機器 ID 部分(5 位元):表示產生 ID 的機器,可以支援每個資料中心中的 32 台機器。
序號部分(12 位元):表示同一毫秒內產生的不同 ID,可以在同一毫秒內產生 4096 個不同的 ID。
這些部分組合在一起形成一個 64 位元的整數,保證了 ID 的唯一性和有序性。由於 Snowflake ID 包含了時間戳記部分,產生的 ID 也是按照時間順序遞增的,這對某些需要排序的場景非常有用。
Snowflake ID 範例
例如,一個 Snowflake ID 的結構如下:
+----------------------+----------------+----------------+----------------+
| 41-bit Timestamp | 5-bit DC ID | 5-bit Machine ID | 12-bit Sequence |
+----------------------+----------------+----------------+----------------+
每個部分的具體含義如下:
時間戳記部分:例如 1622033281000 表示 2021 年 5 月 26 日的某一毫秒。
資料中心 ID 部分:例如 1 表示第一個資料中心。
機器 ID 部分:例如 1 表示資料中心中的第一台機器。
序號部分:例如 1 表示該毫秒內產生的第一個 ID。