看的一个pdf说的。。大型网站架构演变
2019独角兽企业重金招聘Python工程师标准>>>
第一步:物理分离 webserver 和数据库
将应用和数据库从物理上分离,变成了两台机器
第二步:增加页面缓存
例如 squid
第三步:增加页面片段缓存
例如 ESI 等
第四步:数据缓存
缓存技术,包括像 Map 数据结构、缓存算法、所选用的框架本身的实现机制等
第五步: 增加 webserver
1、如何让访问分配到这两台机器上,这个时候通常会考虑的方案是 Apache 自带的负载均衡
方案,或 LVS 这类的软件负载均衡方案;
2、如何保持状态信息的同步,例如用户 session 等,这个时候会考虑的方案有写入数据库、
写入存储、cookie 或同步 session 信息等机制等;
3、如何保持数据缓存信息的同步,例如之前缓存的用户数据等,这个时候通常会考虑的机
制有缓存同步或分布式缓存;
4、如何让上传文件这些类似的功能继续正常,这个时候通常会考虑的机制是使用共享文件
系统或存储等;
第六步:分库
这一步更多的是需要从业务上做合理的划分,以实现分库,具体技术细节上没有其他的要求
第七步:分表、DAL 和分布式缓存
分表更多的同样是业务上的划分,技术上涉及到的会有动态 hash 算法、consistent hash 算法
等;
DAL 涉及到比较多的复杂技术,例如数据库连接的管理(超时、异常)、数据库操作的控
制(超时、异常)、分库分表规则的封装等;
第八步:增加更多的 webserver
1、Apache 的软负载或 LVS 软负载等无法承担巨大的 web 访问量(请求连接数、网络流量等)
的调度了,这个时候如果经费允许的话,会取的方案是购 买硬件负载,例如 F5、Netsclar
、Athelon 之类的,如经费不允许的话,会取的方案是将应用从逻辑上做一定的分类,然
后分散到不同的软负载集群中;
2、原有的一些状态信息同步、文件共享等方案可能会出现瓶颈,需要进行改进,也许这个
时候会根据情况编写符合网站业务需求的分布式文件系统等;
在做完这些工作后,开始进入一个看似完美的无限伸缩的时代,当网站流量增加时,应对的
解决方案就是不断的添加 webserver。
第九步:数据读写分离和廉价存储方案
数据读写分离要求对数据库的复制、standby 等策略有深入的掌握和理解,同时会要求具备
自行实现的技术;
廉价存储方案要求对 OS 的文件存储有深入的掌握和理解,同时要求对采用的语言在文件这
块的实现有深入的掌握、
第十步:进入大型分布式应用时代和廉价服务器群梦想时代
1、拆成分布式后需要提供一个高性能、稳定的通信框架,并且需要支持多种不同的通信和
远程调用方式;
2、将一个庞大的应用拆分需要耗费很长的时间,需要进行业务的整理和系统依赖关系的控
制等;
3、如何运维(依赖管理、运行状况管理、错误追踪、调优、监控和报警等)好这个庞大的
分布式应用。
转载于:https://my.oschina.net/u/1457061/blog/655159
看的一个pdf说的。。大型网站架构演变相关推荐
- 大型网站架构演变和知识体系
存爱好,作为收藏,原地址:http://www.blogjava.net/BlueDavy/archive/2008/09/03/226749.html ,同时向原创致敬 之前也有一些介绍大型网站架构 ...
- 大型网站架构演变和知识体系--转
之前也有一些介绍大型网站架构演变的文章,例如LiveJournal的.ebay的,都是非常值得参考的,不过感觉他们讲的更多的是每次演变的结果,而没有很详细的讲为什么需要做这样的演变,再加上近来感觉有不 ...
- 大型网站 linux,大型网站架构演变
之前也有一些介绍大型网站架构演变的文章,例如LiveJournal的.ebay的,都是非常值得参考的,不过感觉他们讲的更多的是每次演变的结果,而没有很详细的讲为什么需要做这样的演变,再加上近来感觉有不 ...
- [转载]大型网站架构演变和知识体系
之前也有一些介绍大型网站架构演变的文章,例如LiveJournal的.ebay的,都是非常值得参考的,不过感觉他们讲的更多的是每次演变的结果,而没有很详细的讲为什么需要做这样的演变,再加上近来感觉有不 ...
- 大型网站架构演变和知识体系(转)
之前也有一些介绍大型网站架构演变的文章,例如LiveJournal的.ebay的,都是非常值得参考的,不过感觉他们讲的更多的是每次演变的结果,而没有很详细的讲为什么需要做这样的演变,再加上近来感觉有不 ...
- 大型网站架构演变史(含技术栈与价值观)
这篇文章是参考李智慧的<大型网站技术架构:核心原理与案例分析>和现蘑菇街CTO曽宪杰的<大型网站系统与Java中间件实践>写的一篇读书笔记. 前言 何谓大型网站?大型网站的特点 ...
- 大并发服务器架构 大型网站架构演变
服务器的三条要求: 高性能:对于大量请求,及时快速的响应 高可用:7*24 不间断,出现故障自动转移,这叫fail over(故障转移) 伸缩性:使用跨机器的通信(TCP) 另外任何网络系统结构都可以 ...
- 中大型网站架构演变之路
前言 网上有很多文章类似于我今天要分享的课程,有架构师写的,有运维写的,还有开发些的,偏重点都不同,今天我以咱们运维角度全面讲解. 一个成熟的网站架构并不是一开始设计就具备高可用.高伸缩.高性能等特性 ...
- 网站架构演变和知识体系
之前也有一些介绍大型网站架构演变的文章,例如LiveJournal的.ebay的,都是非常值得参考的,不过感觉他们讲的更多的是每次演变的结果,而没有很详细的讲为什么需要做这样的演变,再加上近来感觉有不 ...
最新文章
- 产品经理入门_所以您想成为产品经理? 这就是我的入门方式。
- Android studio 另一个程序正在使用此文件,进程无法访问
- php 多长时间前,php 多长时间之前 的函数
- esxi服务器能虚拟多少虚拟机,关于ESXI能虚拟出多少个虚拟机和CPU的关系
- 关键词热度分析工具_阿里国际站外贸独立站关键词的收集
- python——成语接龙小游戏
- 12-图像梯度-Scharr算子和laplacian算子
- *hdu5632Rikka with Array
- 微信又可以发520红包,还新增情人节“撒狗粮”状态:律师提醒注意
- js高程笔记1-3章
- Flutter中的JSON解析
- (三)【机器人路径规划】Astar算法
- Linux快捷键详解
- 自媒体行业现在还能赚钱吗?
- 使用fopen/fwrite/fread/fseek/fclose对文件从头读写整型数
- 任正非谈管理--读书笔记
- CarPlay iAP2附件协议
- CCNA(思科网络攻城狮) 滴水之力05
- 经典的搞笑反转段子,真是笑死人不偿命
- Linux中的0.0.0.0和 ::