UUID
- uuid 由及部分组合
- 当前日期和时间
- 时钟序列
- 全局唯一的IEEE机器识别码
- 优势
- 简单,易用
- 不足
- 占用空间大,字符串本身无法加工,可读性不强
- 有的版本,会暴露硬件地址,被黑客利用
ID 生成表模式
- 使用id生产表
- 如mysql
create table tickets64
(
id bigint auto_increment
primary key,
sub char null,
constraint tickets64_sub_uindex
unique (sub)
);
--在同一个事务提交
replace into tickets64(sub) values ('a');
select `last_insert_id`()
- 高可用解决单点故障可以两台数据库服务器生成ID,通过区分auto_increment的起始值和步长来生成奇偶iD
- 简单易用,不足时使用了 mysql replace into语法
Snowflake(雪花算法)
- 优点
- 高性能,低延迟,独立的应用,按时间排序
- 缺点
- 需要独立的开发部署
结合缓存
- 可以采用id生成表模式,成批获取id,如把1000个放到本地缓存,这样client使用的时候可以进一步提升性能。
- 优点
- 高性能,低延迟
- 缺点
- id不连贯
网友评论