做网站网页/网站推广服务报价表
介绍
雪花算法这一在分布式架构中很常见的玩意,但一般也不需要怎么去深入了解,一方面一般个人项目用不到分布式之类的大型架构,另一方面,就算要用到,市面上很多 ID 生成器也帮我们完成了这项工作。
分布式 id 生成算法的有很多种,Twitter 的 SnowFlake 就是其中经典的一种。
.Net Core 实现
创建 console 程序进行测试,实际使用需要进行封装且必须使用单例模式
1、 NuGet
安装 Snowflake.Core 依赖包
2、使用
IdWorker 应该以单实例模式运行,否则会出现重复Id。
class Program{static void Main(string[] args){var worker = new IdWorker(1, 1);for (int i = 0; i < 10000000; i++){long id = worker.NextId();Console.Write(id+";");}Console.ReadKey();}}
3、 Run
可以看到生产的数字是有序且不重复的