Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
yitter
雪花ID全家桶(SnowFlake IdGenerator)
提交
a0b885a6
雪
雪花ID全家桶(SnowFlake IdGenerator)
项目概览
yitter
/
雪花ID全家桶(SnowFlake IdGenerator)
大约 1 年 前同步成功
通知
201
Star
3
Fork
1
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
雪
雪花ID全家桶(SnowFlake IdGenerator)
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
a0b885a6
编写于
3月 11, 2021
作者:
Z
zhouzj
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
editreadme
上级
1283f413
变更
1
显示空白变更内容
内联
并排
Showing
1 changed file
with
29 addition
and
3 deletion
+29
-3
README.md
README.md
+29
-3
未找到文件。
README.md
浏览文件 @
a0b885a6
...
...
@@ -4,7 +4,35 @@
用一种全新的雪花漂移算法,让ID更短、生成速度更快。
核心在于缩短ID长度的同时,还能保持每毫秒并发处理量(50W/0.1s),且能保持伸缩能力。
## 功能说明
## 需求来源
1.
作为架构设计的你,肯定想要解决数据库主键唯一的问题。
2.
你肯定希望这个主键是用最少的存储空间,索引速度更快的。
3.
你还会考虑在分库分表(合库合表)的时候,主键值要能直接使用,并能反映业务时序。
4.
如果这样的主键值太长,超过前端 JS Number 类型最大值,估计你会把 Long 型转换为 String 型,你肯定觉得有点不正常。
5.
自增Guid占用空间大,可能也不是你想要的。
6.
你希望系统能运行 100 年以上。
## 传统雪花算法的问题
1.
生成的ID太长。
2.
依赖外部缓存系统。
3.
并发量不够。
4.
不能解决时间回拨问题。
5.
不支持后补生成前序ID。
## 雪花漂移算法特点
1.
ID更短,是传统算法的几倍,用50年都不会超过 js Number类型最大值。(默认配置WorkerId是6bit,自增数是6bit)
...
...
@@ -18,8 +46,6 @@
6.
不依赖任何外部缓存和数据库。(但WorkerId必须由外部指定)
7.
目前是C#版,很快会出java、php等版本。
## 文件说明
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录