百万个冷知识百万个冷知识

百万个冷知识
一起学习百万个冷知识

不重复的id生成策略(不重复的id生成策略)

后段日数新控股公司新搞建设项目

只须定三个不多次若干次的id裂解路子。

萨德基mysql 自增路子第二个就被PASS了

翻看了相关参考资料。

仅约中有路子如下表所示表右图

第二个是UUID

这个他们都极为熟悉了

结合笔记本电脑的驱动器、此地日数、三个随算筹来裂解UUID

优点:邻近裂解,舒适性较好

优点:长度太长,因此看似甚或的

第二个是与此相反统计数据统计数据库裂解

一般而言搞三台统计数据统计数据库,

加设全自动稳步增长,用于历史纪录稳步增长值

接著大部分id裂解都去许诺它

优点:纯粹,高效

优点:只须一般而言布署,大mammalian下舒适性极为低

第二个Twitter的snowflake演算法

这个没去深入细致介绍

只是仅约知道

snowflake是Twitter开源的分布式ID裂解演算法,

结果是三个long型的ID。

其核心思想是:使用41bit作为毫秒数,10bit作为笔记本电脑的ID(5个bit是统计数据中心,5个bit的笔记本电脑ID),12bit作为毫秒内的流水号(意味着每个节点在每毫秒可以产生 4096 个 ID),最后还有三个符号位,永远是0

优点:裂解的id是long,递增

优点:每台笔记本电脑上的日数不一样,会产生不了递增的情况

第四个 zookeeper裂解id

第五个 MongoDB的ObjectId裂解id

这三个介绍极为少没深入细致

直接pass过

第六个 redis裂解id

redis现在基本的建设项目都会用到

很好用的缓存

Redis是单线程的,因此也可以用裂解全局唯一的ID。

优点:数字ID天然排序,对分页或者只须排序的结果很有帮助,高mammalian也行,可以加设Redis集群来裂解

优点:网上有说引入redis配置啥的麻烦,代码量多之类的,我感觉springboot,咔咔咔,2,3下就搞定了

因此后面就选用redis裂解id

还有没其他路子比较好用,

可以留言下,

他们一起进步

未经允许不得转载:百万个冷知识 » 不重复的id生成策略(不重复的id生成策略)
分享到: 更多 (0)

百万个冷知识 带给你想要内容

联系我们