基于分布式锁 分布式全局唯一ID

Posted cb1186512739

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于分布式锁 分布式全局唯一ID相关的知识,希望对你有一定的参考价值。

生成为唯一id一般通用方案

1.  UUID:如果只考虑唯一性,是可行的。

缺点:

技术图片

 技术图片

 

2. 数据库自增主键

技术图片

 技术图片

 在分布式集群中的缺点:

技术图片

 

3. 基于redis生成全局id策略

因为Redis是单线的天生保证原子性,可以使用原子操作INCR和INCRBY来实现

技术图片

 4. snowflake

Twitter的分布式自增ID算法snowflake

技术图片

 结构如下:

技术图片

技术图片

 技术图片

 源码:https://github.com/twitter-archive/snowflake

技术图片View Code

技术图片

 springboot 集成雪花算法:引入糊涂工具包

 

5.其他

百度开源的分布式唯一ID生成器UidGenerator、

美团开源的subtopic

以上是关于基于分布式锁 分布式全局唯一ID的主要内容,如果未能解决你的问题,请参考以下文章

基于数据库的分布式锁

分布式锁Rediszookeeperetcd(推荐)怎样抉择?

如何使用redis实现分布式锁功能?

基于Redis实现分布式锁!

基于Redis实现分布式锁实战

分布式锁方案—redlock算法