互联网通用架构技术----分布式系统ID生成器

分布式ID标准

  • 分布式系统中每每ID须要跨库全局惟一,不然引起业务层的异常冲突。
  • 全局ID必须是数字且升序,主要考虑到升序ID能够保证DB的性能。
  • ID生成器必须稳定,由于这个系统是被全部系统所依赖的。

借鉴Instagram的ID生成算法

Instagram的ID生成算法

  • 整个ID的二进制长度为64位
  • 前36位使用时间戳,以保证ID是升序增长
  • 中间13位是分库标识,用来标识当前这个ID对应的记录在哪一个数据库中
  • 后15位为自增序列,以保证在同一秒内并发时,ID不会重复。每一个shard库都有一个自增序列表,生成自增序列时,从自增序列表中获取当前自增序列值,并加1,作为当前ID的后15位
相关文章
相关标签/搜索