博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
互联网通用架构技术----分布式系统ID生成器
阅读量:6055 次
发布时间:2019-06-20

本文共 327 字,大约阅读时间需要 1 分钟。

hot3.png

分布式ID标准

  • 分布式系统中往往ID需要跨库全局唯一,否则引发业务层的异常冲突。
  • 全局ID必须是数字且升序,主要考虑到升序ID可以保证DB的性能。
  • ID生成器必须稳定,因为这个系统是被所有系统所依赖的。

借鉴Instagram的ID生成算法

Instagram的ID生成算法

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

转载于:https://my.oschina.net/u/1000241/blog/887485

你可能感兴趣的文章
Zabbix 3.4.3之企业微信报警
查看>>
squid工作原理及源码包编译安装配置
查看>>
Python数据类型中的字典-创建和基本操作
查看>>
VMware虚拟化技术培训(10) 桌面虚拟化之二
查看>>
css自适应布局
查看>>
第 5 章 Nova - 031 - Start Instance 操作详解
查看>>
异步通知机制
查看>>
忘记支付密码了
查看>>
【C语言】【面试题】【笔试题】使用main函数实现一个整数计算器!
查看>>
Openstack之路(六)创建云主机实例
查看>>
《阿里巴巴常考面试题及汇总答案(上篇)》
查看>>
Python--闭包与装饰器
查看>>
zabbix监控告警Received empty response from Zabbix Agent Assuming that agent dropped connection
查看>>
初次接受C语言游戏程序感受
查看>>
nginx学习之反向代理负载均衡
查看>>
LayUI前端框架开发视频讲解
查看>>
Python学习记录-2016-11-26
查看>>
如何用源码安装ElasticSearch?
查看>>
Cisco路由器NAT的基础和应用场景
查看>>
Java 位运算(移位、位与、或、异或、非)
查看>>