版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、网站都是从小网站一步一步发展为大型网站的, 而这之中的挑战主要来自于庞大 的用户、安全环境恶劣、高并发的访问和海量的数据,任何简单的业务处理,一 旦需要处理数以P计的数据和面对数以亿计的用户时,问题就会变的很棘手F面我们就来说说这个演变过程:初始阶段大型网站都是由小型网站演变而来的,网站 架构也样小型网站最开始没有太多人访问,只需要一台服务器就绰绰有余,就像这样:应用程序、数据库、文件等所有资源都在一台服务器上,通常使用Linux PHPMySQlApache就可以完成整个项目部署,然后再买个域名,租一个廉价的服务 器就可以开始我们的网站之旅了应用服务与数据服务分离应用随着业务的发展,逐渐的一
2、台服务器已经不能满足需求,这时我们可以将 与数据分离 分离之后我们使用到三台服务器:应用服务器、文件服务器和数据库服务器,如 下所示:对于这三台服务器要求各不相同:?应用服务器 要处理大量的业务逻辑,所以需要更好更快更强大的 CPU?数据库服务器需要快速的进行磁盘检索和数据缓存,因此需要更 快的硬盘和更大的内存?文件服务器需要存储用户上传的文件资源,因此需要更大的硬盘 存储空间应用与数据分离后,各个的职责变得更加专一,网站的性能得到进一步的提升, 但随着用户的继续增加,我们需要对网站架构进一步优化使用缓存改善,阴台匕性冃匕网站的访问一样遵循二八定律:80%的业务访问集中在20%的数据上面因此我
3、们要对这一小部分的数据进行缓存来减轻数据库的访问压力,以提高整个网站的数据访问速度,改善数据库的读写性能 网站的缓存可以分为两种:缓存在应用服务器上的本地缓存和缓存在专门的分布 式缓存服务器上的远程缓存?本地缓存 的访问速度会快一些,但是受应用服务器内存限制,缓 存数据量很有限,而且会出现内存争用的情况?远程分布式缓存 可以使用集群的方式,部署大内存的服务器作为 专门的缓存服务器,可以在理论上做到不受内存容量限制的缓存服 务如下所示:但单一的应用服务器能够处理的使用缓存后,数据访问压力得到了有效的缓解,请求连接数有限,在访问的高峰期,应用服务器又会成为网站性能的瓶颈使用应用服务器集群改善网站并
4、发处理 能力、|/使用集群是网站解决高并发,海量数据问题的常用手段,当你纵向提升到一定程 度后,那就该开始横向提升了 当一台服务器的处理能力不足时,与其换一台更强大的服务器,不如增加一台服 务器去分担原有的服务器压力。对于大型网站而言,无论多么强大的服务器,都 满足不了持续增长的业务需求,更高效的方式就是增加服务器来分担压力对于网站架构而言,如果增添一台新的服务器可以改善负载压力, 那么就可以使 用同样的方式来应对源源不断的业务需求,从而实现系统的可伸缩性通过负载均衡调度服务器,可以将用户请求分发到应用服务器集群里的任何一台 服务器上,如果有更多的用户,可以增加更多的应用服务器,使应用服务器的
5、负 载压力不再成为网站的性能问题数据库读写分离在使用了缓存后,大多数的操作不经过数据库访问就能完成, 但仍有一部分读操 作(缓存访问未命中,缓存过期)和所有的写操作需要访问数据库,在网站的用 户量达到一定时,数据库的负载问题就来了厶 口,目前大多数的数据库都支持主从热备份, 通过配置两台服务器的主从关系,可以 将一台数据库服务器的数据更新同步到另一台, 网站利用这一功能,实现数据库 读写分离,从而进一步改善数据库负载压力应用服务器在写操作的时候,访问主数据库,主数据库通过主从复制机制把数据 同步更新到从数据库,这样当应用服务器进行读操作的时候, 就能访问从数据库 获取数据使用反向代理和CDN加
6、速网站响应CDN和 反向代理 的基本原理都是缓存? CDN部署在网络供应商的机房,用户在进行请求时,会从距离最近 的网络供应商机房获取数据?反向代理贝喑E署在中心机房,当用户请求到达中心机房后,会首 先访问反向代理服务器,如果反向代理服务器中缓存这用户请求的 资源,就直接返回给用户使用CDN和 反向代理 都是为了尽快返回给用户数据,一方面加快用户访问速 度,另一方面也减轻了后端服务器的压力使用分布式文件系统和分布式数据库系随着网站业务的继续发展,这时候就可以像分布式应用服务器一样, 对数据库系 统和文件系统进行分布式管理 分布式数据库 是网站数据库拆分的最后手段,一般我们可以采取业务分库,根
7、据不同业务的数据库部署在不同的数据库服务器上使用NoSQL和搜索引擎这两个方式都是依赖于互联网的技术手段, 应用服务器通过一个统一的数据访问 模块来访问各种数据,从而减轻应用程序有多个数据源的麻烦E莎Tt曬吾3,汽e 用 RFFdS.拓"科3:FlSfittiRS号3i/H-nn 衣IO«i*Z«牌靜/ZHo60l1<B駅*V毎St=*対*曲挣n挣fifimsTti斯 iUtKHOA L廿琦虞iifl區目lit'-aftavf _甘斬衣BVC*奇3*业务拆分对于大型网站,我们可以分而治之,把整个网站的业务分为不同的模块, 比如大 型的交易购物完整可以
8、分为首页、店铺、订单、买家等,分别交给不同的业务团 队来负责 同时我们将一个网站根据模块划分拆分成多个应用,每个应用进行单独的部署和 维护,应用之间通过超链接建立关系(指向不同的应用地址),最后通过相同的 数据存储系统来构成一个互相关联的完整系统分布式服务随着业务拆分,整个系统越来越大,应用的整体复杂度呈指数级增加,部署维护 越来越困难,并且所有的应用服务器都要与数据库服务连接, 在数万台服务器 规模的情况下,这些连接的数目是服务器规模的平方,导致资源不足 这时候就要对相同的业务进行提取,独立部署,把这些可重用的业务和连接数据 库等,提取出来作为公共业务服务,而应用系统只需要通过分布式服务访问公共 业务服务完成业务操作kCOMMS I4;*«求*超VKftl宜可爭31GN丸v»ai 1I "AM »-fl/ 1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 赞比亚某公司设立项目可行性研究报告
- 二零二五年度房屋抵押权登记合同范本协议3篇
- 二零二五年度吊篮设备运输与安装合同3篇
- 2024年度学校整体工作总结:共同书写学校更加辉煌的教育篇章
- 二零二五年度大型矿产品进出口合同示范文本3篇
- 2025年度版权购买合同交底3篇
- 二零二五年度专业理发店员工录用与福利待遇协议2篇
- 二零二五年度建筑垃圾处理合同与循环利用协议3篇
- 2025年度特许经营合同税务合规要点2篇
- 2025年度路灯照明项目节能改造及运维服务合同3篇
- 2024年全国职业院校技能大赛中职组(美术造型赛项)考试题库(含答案)
- GB/T 4706.1-2024家用和类似用途电器的安全第1部分:通用要求
- 中小学心理健康教育课程设计与实践智慧树知到答案2024年浙江师范大学
- 30万吨合成氨50万吨尿素装置拆除项目施工组织设计
- 动物遗传学智慧树知到期末考试答案章节答案2024年西南大学
- 2024年7月国家开放大学专科《行政组织学》期末纸质考试试题及答案
- 城市生命线安全…监测预警指挥平台建设方案
- 六年级数学《圆柱的体积》教案(一等奖)
- 呼吸科医院感染危险因素评估
- 2024CSCO恶性肿瘤患者营养治疗指南解读
- 常见化学专业词汇英文翻译
评论
0/150
提交评论