`

大型网站架构演变和知识体系【架构演变第七步:分表、DAL和分布式缓存】

    博客分类:
  • WEB
阅读更多

架构演变第七步:分表、DAL和分布式缓存

随着系统的不断运行,数据量开始大幅度增长,这个时候发现分库后查询仍然会有些慢,于是按照分库的思想开始做分表的工作,当然,这不可避免的会需要对程序进行一些修改,也许在这个时候就会发现应用自己要关心分库分表的规则等,还是有些复杂的,于是萌生能否增加一个通用的框架来实现分库分表的数据访问,这个在ebay的架构中对应的就是DAL,这个演变的过程相对而言需要花费较长的时间,当然,也有可能这个通用的框架会等到分表做完后才开始做,同时,在这个阶段可能会发现之前的缓存同步方案出现问题,因为数据量太大,导致现在不太可能将缓存存在本地,然后同步的方式,需要采用分布式缓存方案了,于是,又是一通考察和折磨,终于是将大量的数据缓存转移到分布式缓存上了。

看看这一步完成后系统的图示:



 

这一步涉及到了这些知识体系:

分表更多的同样是业务上的划分,技术上涉及到的会有动态hash算法、consistent hash算法等;

DAL涉及到比较多的复杂技术,例如数据库连接的管理(超时、异常)、数据库操作的控制(超时、异常)、分库分表规则的封装等;

  • 大小: 7.1 KB
分享到:
评论

相关推荐

    大型网站架构演变和知识体系

    架构演变第一步:物理...架构演变第七步:分表、DAL和分布式缓存 架构演变第八步:增加更多的webserver 架构演变第九步:数据读写分离和廉价存储方案 架构演变第十步:进入大型分布式应用时代和廉价服务器群梦想时代

    大型网站技术架构演变过程

    7.架构演变第七步:分表、DAL和分布式缓存 8.架构演变第八步:增加更多的webserver 9.架构演变第九步:数据读写分离和廉价存储方案 10.架构演变第十步:进入大型分布式应用时代和廉价服务器群梦想时代

    分布式学习文档-理论知识word.&&java源码,学习面试可以用

    获取到文件夹名称: 01...获取到文件夹名称: 09分布式缓存-redis 获取到文件夹名称: 11反向代理-nginx 获取到文件夹名称: 12分库分表 获取到文件夹名称: 14Docker 个人学习之后受益良多,感觉值得分享一下

    MySQL大型分布式集群 龙果学院

    纵观大型网站架构发展,总结持久化部分需要应对的问题 [免费观看] 00:27:12分钟 | 第4节 操作系统安装以及配置 00:31:22分钟 | 第5节 在CentOS上通过yum安装mysql5.7 00:15:32分钟 | 第6节 mysql初次见面-mysql...

    分布式数据库架构及企业实践基于Mycat中间件

    mysql数据库分布式中间件,功能强大支持分库分表。支持读写分离,主从切换,实现在线数据扩容、迁移等高级功能

    laravel-table:laravel分表扩展

    laravel表 Laravel表分片 安装 composer xialin/table 注入 'providers' => [ /* * Laravel Framework Service Providers... */ Illuminate \ Auth \ AuthServiceProvider ::class, Illuminate \ Broadcasting ...

    mycat1.6.5源码,分库分表,分布式

    mycat1.6.5源码,分库分表,分布式

    TP5+MySQL通用分表代码

    - 分表情况,2:日期分表,按照目标表里面的记录日期的字段,按照日期【日、周、月、年】拆分成多个表【本代码仅考虑unix时间戳来分表,其它不支持,您可以自己思考,自己修改代码】 - 注意,支持【子表】,填入...

    程序员面试刷题的书哪个好-mysqlsplit:mysql分库分表,分布式事务

    Mycat内存还礼与缓存架构 5) Mycat连接池 主从切换 Mycat核心技术 1)Mycat路由的实现 2)Mycat跨库join的实现 3)Mycat数据汇聚和排序 Mysql复制的工作方式 Mysql查询执行路径 什么限制了Mysql的性能 最常见的两个...

    一个基于JFinal的国产微服务框架,基于JFinal完整的MVC+ORM支持 支持多数据源、分库分表和分布式事务

    支持多数据源、分库分表和分布式事务。支持 Dubbo RPC 的完整功能,有超过 1亿+ 用户产品正在使用。完整的单点限流和分布式限流功能。支持基于 Apollo 和 Nacos 的分布式配置中心。完整的分布式缓存、分布式session...

    MySQL架构演变与性能优化

    基础知识介 绍 Basic knowledge 02 架构演变过 程 Architecture evolution 03 分库分表实 践 Mysql sharding 04 数据执行优 化 Query optimization

    mysql分布式集群架构视频

    mysql分布式集群架构视频,包含linux上安装mysql,主从复制、主主复制、负载均衡、haproxy监控、高可用、keepalived、分库分表、数据库中间件-mycat、以及mycat的各种使用,自己学的这个视频,60多集,挺不错的

    44 3 MyCat分布式架构

    3、一个可以视为MySQL集群的企业级数据库,用来替代昂贵的Oracle集群 4、一个融合内存缓存技术、NoSQL技术、HDFS大数据的新型SQL Server 5、结合传统数据库和新型分布式数据仓库的新一代企业级数据库产品 ...

    微服务开发中的数据架构设计

    微服务是当前非常流行的技术框架,通过服务的小型化、原子化以及分布式架构的弹性伸缩和高可用性,可以实现业务之间的松耦合、业务的灵活调整组合以及系统的高可用性。为业务创新和业务持续提供了一个良好的基础平台...

    完结26章Java主流分布式解决方案多场景设计与实战

    3.掌握分布式ID和分库分表多种解决方案 4.掌握分布式Session和分布式调度解决方案度解决方案 多场景落地六大分布式解决方案 1.实战分布式锁实现高并发引起的超卖问题 2.实战Redisson框架解决用户重复注册问题 3....

    分布式微服务架构体系详解

    微服务架构的技术体系、社区目前已经越来越成熟。在最初系统架构的搭建,或者当现有...随着业务扩大、不断地加入搜索引擎、缓存技术、分布式消息队列、数据存储层的数据复制、分区、分表等。本课程会一一解开微服务架

    《可伸缩服务架构框架与中间件》源码.zip

    可伸缩和可扩展,从应用层、数据库、缓存、消息队列、大数据查询系统、分布式定时任务调度系统、微服务等层面详细讲解如何设计可伸缩、可扩展的框架,并给出在各个领域解决特定问题的方法论和实践总结。包括数据库分...

    第六节课交易分库分表详解二1

    第六节课交易分库分表详解分库分表难点:分布式事务。分布式主键。跨库的查询。数据迁移的问题。分库分表之分布式唯一ID解决方案:Uuid:通用唯一识别码组成部分:当

Global site tag (gtag.js) - Google Analytics