分布式ID生成之雪花算法
分布式ID生成方案
唯一ID可以标识数据的唯一性,在分布式系统中生成唯一ID的方案有很多,常见的方式大概有以下几种方式:
- UUID 随机数
- 数据库特性
- Redis 生成 ID
- snowflake 雪花算法(本文将要讨论)
优缺点
生成算法 | 优点 | 缺点 | 长度 |
---|---|---|---|
UUID | 实现简单,不占用带宽 | ID 是无序的,查询慢,不适合建立索引 | 32字节 |
数据库自增 | 代码简单,数据递增 | DB 单点故障等,需 DBA 专业维护 | 递增 |
snowflake |
唯一ID可以标识数据的唯一性,在分布式系统中生成唯一ID的方案有很多,常见的方式大概有以下几种方式:
生成算法 | 优点 | 缺点 | 长度 |
---|---|---|---|
UUID | 实现简单,不占用带宽 | ID 是无序的,查询慢,不适合建立索引 | 32字节 |
数据库自增 | 代码简单,数据递增 | DB 单点故障等,需 DBA 专业维护 | 递增 |
snowflake |