互联网通用架构技术----分布式系统ID生成器
分布式ID标准
- 分布式系统中每每ID须要跨库全局惟一,不然引起业务层的异常冲突。
- 全局ID必须是数字且升序,主要考虑到升序ID能够保证DB的性能。
- ID生成器必须稳定,由于这个系统是被全部系统所依赖的。
借鉴Instagram的ID生成算法

- 整个ID的二进制长度为64位
- 前36位使用时间戳,以保证ID是升序增长
- 中间13位是分库标识,用来标识当前这个ID对应的记录在哪一个数据库中
- 后15位为自增序列,以保证在同一秒内并发时,ID不会重复。每一个shard库都有一个自增序列表,生成自增序列时,从自增序列表中获取当前自增序列值,并加1,作为当前ID的后15位
欢迎关注本站公众号,获取更多信息