スノーフレークID生成器
スノーフレークIDはTwitterが開発した分散ID生成アルゴリズムで、分散システムで一意の64ビットIDを生成できます。
アルゴリズム原理
スノーフレークIDは以下の部分で構成される64ビット整数です:
- タイムスタンプ(41ビット):ミリ秒レベルのタイムスタンプ、69年使用可能
- データセンターID(5ビット):32のデータセンターをサポート
- マシンID(5ビット):データセンターあたり32台のマシンをサポート
- シーケンス番号(12ビット):ミリ秒あたり4096個のIDを生成可能
使用方法
- マシンIDを設定(0-1023)
- データセンターIDを設定(0-31)
- 「ID生成」ボタンをクリックして単一IDを生成
- 「複数ID生成」ボタンをクリックしてバッチ生成
- 生成されたIDの詳細情報を表示
特性
- 高性能:ミリ秒あたり4096個のIDを生成可能
- 分散型:複数マシン、複数データセンターのデプロイをサポート
- 順序性:IDは時間順に増加
- 一意性:分散システムでIDの一意性を保証
使用例
- データベース主キー生成
- 分散システムの一意識別子
- 注文番号生成
- メッセージキューのメッセージID