基于springboot的ShardingSphere5.X的分库分表的解决方案之变种雪花ID的生成(五)

基于springboot的ShardingSphere5.X的分库分表的解决方案之变种雪花ID的生成(五)

在上面一章节我们已经讲解如何实现落库落表的解决思路,同时我们也用例子进行了验证,也完美的验证了我们的思路是正确的,那上一章留下来的问题大家是否有思考过呢,那就是我们该如何生成这个流水ID保证既不重复又会按照我们的规则进行落库呢,这时候Snowflake算法将为我们搞定所有的问题。

1、什么是SnowFlake

​ SnowFlake算法是Twitter设计的一个可以在分布式系统中生成唯一的ID的算法,它可以满足Twitter每秒上万条消息ID分配的请求,这些消息ID是唯一的且有大致的递增顺序。

2、SnowFlake算法生成ID使得ShardingSphere落库一致原理

​ SnowFlake算法可以生成大致递增的ID,但是我们现在需要生成的ID是要有规则的,比如对2的阶乘取余以后要为某一个数值,那这时候我们该如何实现这样的雪花ID的生成呢,接下来我将为大家介绍这个生成的思路,以及java代码的实现,废话不多说了我们直接上图为证:

上一篇:分布式——分布式发号器


下一篇:snowflake算法【雪花算法】及源码