|
|
@@ -2,13 +2,13 @@ |
|
|
|
|
|
|
|
## 介绍 |
|
|
|
|
|
|
|
1.一个全新的雪花漂移算法,生成的ID更短、速度更快。 |
|
|
|
❄一个全新的雪花漂移算法,生成的ID更短、速度更快。 |
|
|
|
|
|
|
|
2.核心在于缩短ID长度的同时,具有极高瞬时并发处理量(保守值 50W/0.1s)。 |
|
|
|
❄核心在于缩短ID长度的同时,具有极高瞬时并发处理量(保守值 50W/0.1s)。 |
|
|
|
|
|
|
|
3.原生支持 C#/Java/Go/Rust/C 等语言,并由 Rust 提供 PHP、Python、Node.js、Ruby 等语言多线程安全调用库(FFI)。 |
|
|
|
❄原生支持 C#/Java/Go/Rust/C 等语言,并由 Rust 提供 PHP、Python、Node.js、Ruby 等语言多线程安全调用库(FFI)。 |
|
|
|
|
|
|
|
4.支持 k8s 等容器化部署,自动注册 WorkerId。 |
|
|
|
❄支持 k8s 等容器化部署,自动注册 WorkerId。 |
|
|
|
|
|
|
|
|
|
|
|
## 技术支持 |
|
|
@@ -21,23 +21,23 @@ QQ群:646049993 |
|
|
|
|
|
|
|
## 需求来源 |
|
|
|
|
|
|
|
1.作为架构设计的你,想要解决数据库主键唯一的问题,特别是在分布式系统多数据库的时候。 |
|
|
|
❄作为架构设计的你,想要解决数据库主键唯一的问题,特别是在分布式系统多数据库的时候。 |
|
|
|
|
|
|
|
2.你希望这个主键是用最少的存储空间,索引速度更快,Select、Insert 和 Update 更迅速。 |
|
|
|
❄你希望这个主键是用最少的存储空间,索引速度更快,Select、Insert 和 Update 更迅速。 |
|
|
|
|
|
|
|
3.你要考虑在分库分表(合库合表)时,主键值可直接使用,并能反映业务时序。 |
|
|
|
❄你要考虑在分库分表(合库合表)时,主键值可直接使用,并能反映业务时序。 |
|
|
|
|
|
|
|
4.如果这样的主键值太长,超过前端 JS Number 类型最大值,须把 Long 型转换为 String 型,你会觉得有点沮丧。 |
|
|
|
❄如果这样的主键值太长,超过前端 JS Number 类型最大值,须把 Long 型转换为 String 型,你会觉得有点沮丧。 |
|
|
|
|
|
|
|
5.尽管 Guid 能自增,但占用空间大,索引速度慢,你也不想用它。 |
|
|
|
❄尽管 Guid 能自增,但占用空间大,索引速度慢,你也不想用它。 |
|
|
|
|
|
|
|
6.应用实例可能超过50个,每个并发请求可达10W/s。 |
|
|
|
❄应用实例可能超过50个,每个并发请求可达10W/s。 |
|
|
|
|
|
|
|
7.在容器环境部署应用(水平扩展、自动伸缩)。 |
|
|
|
❄在容器环境部署应用(水平扩展、自动伸缩)。 |
|
|
|
|
|
|
|
8.不想依赖 redis 的自增操作。 |
|
|
|
❄不想依赖 redis 的自增操作。 |
|
|
|
|
|
|
|
9.你希望系统运行 100 年以上。 |
|
|
|
❄你希望系统运行 100 年以上。 |
|
|
|
|
|
|
|
|
|
|
|
## 传统算法问题 |
|
|
|