ASP.NET Core雪花算法分布式ID生成工具类
安装:
1.NuGet中添加 OnceMi.AspNetCore.IdGenerator 程序集
2.Program中设置参数
//AppId,Appid范围为0-63
builder.Services.AddIdGenerator(m =>
{
m.AppId = 1;
});
3.获取ID
[ApiController]
[Route("[controller]")]
public class WeatherForecastController : ControllerBase
{
private readonly ILogger<WeatherForecastController> _logger;
private readonly IIdGeneratorService _idGenerator;
public WeatherForecastController(ILogger<WeatherForecastController> logger, IIdGeneratorService idGenerator)
{
_logger = logger;
_idGenerator = idGenerator;
}
[HttpGet("GeneratorID")]
public ActionResult<Order> GeneratorID()
{//雪花算法分布式ID
List<Order> orders = new List<Order>();
//生成一个ID
orders.Add(new Order { Id = _idGenerator.NewId() });
//一次生成多个ID
var ids = _idGenerator.NewIds(5);
foreach (var id in ids)
{
orders.Add(new Order { Id = id });
}
return Ok(orders);
}
}
引用:https://github.com/oncemi/OnceMi.AspNetCore.IdGenerator
其它:雪花算法(SnowFlake)——雪花漂移算法
Yitter.IdGenerator
https://github.com/yitter/IdGenerator
浙公网安备 33010602011771号