Twitter的雪花算法SnowFlake,使用csharp语言实现。
PM> Install-Package Snowflake.Data -Version 1.1.2
- 指定数据中心ID及机器ID.
SnowFlake snowFlake = new SnowFlake(datacenterId:1,machineId:1);
- 生成ID
var id = snowFlake.NextId();
- 用于分布式
PM> Install-Package Snowflake.Redis.CSharp
- 在 ConfigureServices() 方法中添加如下代码
public void ConfigureServices(IServiceCollection services)
{
services.AddSnowflakeRedisService(connectionString:"127.0.0.1:6379,allowAdmin=true",
option
=>Configuration.GetSection("snowFlake").Bind(option)
);
}
分布式雪花ID不同机器ID自动化配置
"snowFlake": {
"dataCenterId": 1,
"Name": "test"
}
Apache