开源一个C语言库,有哪些最佳实践和注意事项?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2707个文字,预计阅读时间需要11分钟。
介绍+采用一种全新的雪花游移算法(以下简要概述基本算法),使ID更短、生成速度更快。+核心在于缩短ID长度的同时,还能保持极高的并发处理量(50W/0.1s),并且具有非常强大的配置能力。+需求来源于...
介绍
用一种全新的雪花漂移算法(以下简称本算法),让ID更短、生成速度更快。
核心在于缩短ID长度的同时,还能保持极高并发处理量(50W/0.1s),且具有很强配置能力。
需求来源
1.作为架构设计的你,想要解决数据库主键唯一的问题,特别是在分布式系统多数据库的时候。
2.你希望这个主键是用最少的存储空间,索引速度更快,Select、Insert 和 Update 更迅速。
3.你要考虑在分库分表(合库合表)的时候,主键值可直接使用,并能反映业务时序。
4.如果这样的主键值太长,超过前端 JS Number 类型最大值,须把 Long 型转换为 String 型,你会觉得有点沮丧。
5.哪怕 Guid 能自增,但占用空间大,这也不是你想要的。
6.你希望系统能运行 100 年以上。
传统算法问题
1.生成的ID太长。
2.并发量不够。
3.不能解决时间回拨问题。
4.不支持后补生成前序ID。
5.依赖外部缓存系统。
本文共计2707个文字,预计阅读时间需要11分钟。
介绍+采用一种全新的雪花游移算法(以下简要概述基本算法),使ID更短、生成速度更快。+核心在于缩短ID长度的同时,还能保持极高的并发处理量(50W/0.1s),并且具有非常强大的配置能力。+需求来源于...
介绍
用一种全新的雪花漂移算法(以下简称本算法),让ID更短、生成速度更快。
核心在于缩短ID长度的同时,还能保持极高并发处理量(50W/0.1s),且具有很强配置能力。
需求来源
1.作为架构设计的你,想要解决数据库主键唯一的问题,特别是在分布式系统多数据库的时候。
2.你希望这个主键是用最少的存储空间,索引速度更快,Select、Insert 和 Update 更迅速。
3.你要考虑在分库分表(合库合表)的时候,主键值可直接使用,并能反映业务时序。
4.如果这样的主键值太长,超过前端 JS Number 类型最大值,须把 Long 型转换为 String 型,你会觉得有点沮丧。
5.哪怕 Guid 能自增,但占用空间大,这也不是你想要的。
6.你希望系统能运行 100 年以上。
传统算法问题
1.生成的ID太长。
2.并发量不够。
3.不能解决时间回拨问题。
4.不支持后补生成前序ID。
5.依赖外部缓存系统。

