1.简介

分布式ID需要解决的问题核心应该是如何生成一个唯一的编号。

2.相关解决方式

UUID
雪花算法
大厂的开源项目
………
下面我们就简单聊一聊为什么可以使用这些解决方式,来生成唯一ID,以及使用方式

3.UUID

全称 通用唯一识别码(Universally Unique Identifier)
格式:8-4-4-4-12
版本:知乎上说有5中,广泛采用的是滴4种。
UUID1生成规则:当前日期+时钟序列+全局唯一的IEEE机器识别号(MAC或其他方式)
java默认实现的是UUID4:只基于随机数生成(好像不太靠谱)

4.雪花算法

时间戳+机器id+递增编号
机器id自己定义。

5.利用数据库

数据库自增编号
数据库多主模式(主1:1,3,5,7,9….. 主2: 2,4,6,8,10…..)
号段模式(每个业务拥有一个号的范围,用完再取新的号段)
Redis放个自增key值

6.大厂的实现雪花算法的工具

美团的Leaf ,可以使用数据库模式和zk模式。