分布式唯一 ID 生成器 - IDGen
共 1187字,需浏览 3分钟
·
2023-05-06 15:15
你好,这里是 Dotnet 工具箱,定期分享 Dotnet 有趣,实用的工具和组件,希望对您有用!
IdGen 是 .NET 平台下开源的类似 Twitter Snowflake 的 ID 生成器。
在某些情况下,您需要一个低延迟、分布式、按时间排序、紧凑且高度可用的 Id 生成系统。
实际上,IdGen 会生成 63 位 Id。一个 Id 由 3 部分组成:
-
• Timestamp
-
• Generator-id
-
• Sequence
默认 Default 生成的 Id 的 IdStructure 结构如下:
其中的 generator-id 部分,是需要手动配置的,不同的线程,不同的主机,不同的地区等,它在系统中应该是唯一的。
IDGen是一款开源的分布式唯一ID生成器,支持多种ID生成算法,并且可以在高并发场景下快速生成全局唯一的ID。目前支持的ID生成算法包括Twitter Snowflake算法、UUID算法,以及自增ID算法。
IDGen的优点包括:
-
支持多种ID生成算法,用户可以根据需求选择合适的算法。
-
可以在高并发场景下快速生成全局唯一的ID。
-
支持分布式部署,可以满足多节点、多数据中心的需求。
-
提供了简单易用的API接口,用户可以轻松接入。
使用 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);
https://github.com/RobThree/IdGen