目前微服务架构盛行,在分布式系统中的操作中都会有一些全局性ID的需求,所以我们不能使用数据库本身的自增功能来产生主键值,只能由程序来生成唯一的主键值。
雪花算法:
分段 | 作用 | 说明 |
1bit | 保留(不用) | -- |
41bit | 时间戳,精确到毫秒 | 最多可支持69年的跨度 |
5bit | 机器id | -- |
5bit | 业务编码 | -- |
12bit | 毫秒内的计数器 | -- |
默认情况下41bit的时间戳可以支持该算法使用到2082年;
10bit的工作机器id可以支持1024台机器;
序列号支持1毫秒产生4096个自增序列id