分散式唯一 ID 生成器 - IDGen

ProZkb發表於2024-05-16

IdGen 是 .NET 平臺下開源的類似 Twitter Snowflake 的 ID 生成器。

在某些情況下,您需要一個低延遲、分散式、按時間排序、緊湊且高度可用的 Id 生成系統。

實際上,IdGen 會生成 63 位 Id。一個 Id 由 3 部分組成:

  • • Timestamp

  • • Generator-id

  • Sequence

預設 Default 生成的 Id 的 IdStructure 結構如下:

其中的 generator-id 部分,是需要手動配置的,不同的執行緒,不同的主機,不同的地區等,它在系統中應該是唯一的。
使用 Nuget 安裝 IdGen.

修改程式碼如下:

using IdGen;
using System.Linq;

class Program
{
    static void Main(string[] args)
    {
        var generator = new IdGenerator(0);
        var id = generator.CreateId();
        // Example id: 862817670527975424
    }
}

非常簡單,您已經建立了您的第一個 Id!

想要建立 100 個 ID?程式碼改成下面的即可。

var id = generator.Take(100);

相關文章