分布式系统全局id生成策略
来源:互联网 发布:巴黎综合理工大学知乎 编辑:程序博客网 时间:2024/06/03 19:12
当数据发生分片,分库分表时,业务系统首先就要考虑如何生成一张表的全局唯一ID,设计生成全局ID的服务有几点考虑:
1、不能有单点故障;
2、全局ID生成服务不能成为整个系统性能瓶颈;
3、全局ID要和ShardingId有映射关系,根据全局主键ID能算出数据在哪个分片;
4、不能太长,否则,作为主键建立索引查询效率低;
flickr开发团队在2010年撰文介绍了flickr使用的一种主键生成策略,flickr这一方案的整体思想是:建立两台以上的主键ID生成服务器,每个服务器都有一张记录各表当前ID的Sequence表,Sequence表中ID增长的步长是服务器的数量,起始值依次错开,这样相当于把ID的生成散列到了每个服务器节点上。例如:如果我们设置两台数据库ID生成服务器,那么设置一台的Sequence表的ID起始值为1,每次增长步长为2,另一台的Sequence表的ID起始值为2,每次增长步长为2,奇数的ID都将从第一台服务器上生成,偶数的ID都从第二台服务器上生成,这样就将生成ID的压力均匀分散到两台服务器上,同时配合应用程序的控制,当一个服务器失效后,系统能自动切换到另一个服务器上获取ID,从而保证了系统的容错。
阅读全文
0 0
- 分布式系统全局id生成策略
- 分布式系统中的ID生成策略
- 分布式ID生成策略
- flickr 对于分布式系统生成全局唯一ID的解决方案
- 在高并发分布式系统中生成全局唯一Id
- 高并发分布式系统中生成全局唯一Id汇总
- 分布式系统如何生成全局唯一的ID
- 分布式系统中生成全局唯一ID方案
- 高并发分布式系统中生成全局唯一Id汇总
- 分布式系统中, 怎么样生成全局唯一的 ID
- 分布式系统中生成全局ID的总结与思考
- 分布式系统中生成全局唯一ID的方法
- 全局唯一ID的生成策略对比
- 常见全局唯一Id生成策略分析
- 分布式全局不重复ID生成算法
- 分布式系统唯一ID生成
- 如何在高并发分布式系统中生成全局唯一Id
- 如何在高并发分布式系统中生成全局唯一Id
- Spring Boot and OAuth2翻译
- Kotlin学习笔记——从搭建环境开始
- APK签名知识扫盲
- 171211 逆向-高级反调试技术
- 5---------并查集问题
- 分布式系统全局id生成策略
- 冷观 | 狂热背后,你需要知道AI技术是如何发展起来的
- Python 图片转ASCII码
- pyqt QtGui.QListWidget.currentItem(QtGui.QListWidget()) is always None
- Object到int的转换问题
- 347. Top K Frequent Elements (第十四周)
- 虚拟现实的伦理问题----陈教授讲座听后感
- Maven常用命令大全与pom文件讲解
- github上修改仓库的主语言