开源一个C语言库,有哪些最佳实践和注意事项?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2705个文字,预计阅读时间需要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.依赖外部缓存系统。
新算法特点
1.整形数字,随时间单调递增(不一定连续),长度更短,用50年都不会超过 js Number类型最大值。(默认配置 WorkerId 是6bit,自增数是6bit)
2.速度更快,是传统雪花算法的2-5倍,0.1秒可生成50万个。
本文共计2705个文字,预计阅读时间需要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.依赖外部缓存系统。
新算法特点
1.整形数字,随时间单调递增(不一定连续),长度更短,用50年都不会超过 js Number类型最大值。(默认配置 WorkerId 是6bit,自增数是6bit)
2.速度更快,是传统雪花算法的2-5倍,0.1秒可生成50万个。

