1、要求
- 高性能,TPS
- 高可用,至少4个9
2、解决方案
针对不同的业务场景,选择不同的解决方案。
2.1、UUID
- 优点:性能高、无网络IO
- 缺点:不易于存储、无序(某些场景也是优点)...
2.2、snowflake
通过时间戳、机器编号等信息生成64bit的ID
- 优点:性能高、递增有序
- 缺点:长、强依赖机器时钟......
2.3、数据库生成方案
为保证高性能,需提供进行分库分表,依赖于数据库的自增及步长
- 优点:实施简单、自增有序...
- 缺点:强依赖DB,不易扩展...
3、参考文档
https://tech.meituan.com/2017/04/21/mt-leaf.html