您的位置:首页 > 运维架构 > 网站架构

《大型网站技术架构:核心原理与案例分析》拜读总结——第一章

2017-05-25 22:46 155 查看
一:大型网站软件系统的特点

1.高并发,大流量:需要面对高并发用户,大流量访问

2.高可用:系统7*24小时不间断服务

3.海量数据:需要存储,管理海量数据,需要使用大量服务器

4.用户分布广泛,网络情况复杂:许多大型互联网为全球用户提供服务,用户分布广泛,各地区网络情况千差万别

5.安全环境恶劣:由于互联网的开放性,使得互联网站更容易受到攻击,大型网站几乎每天都会被黑客攻击

6.需求快速变更,发布频繁:互联网产品为快速适应市场,满足用户需求,其产品发布频率极高

7.渐进式发展:与传统软件或企业应用系统一开始就规划好全部功能需求不同,几乎所有大型互联网站都是从一个小网站开始,渐进发展起来的

二:大型网站架构演化发展历程

1.初始阶段:只需一台服务器:

2.应用服务和数据服务分离:应用服务器,文件服务器,数据库服务器:

3.使用缓存改善网站性能:网站访问特点遵循二八定律:80%业务访问集中在20%的数据上,把这20%的数据缓存在内存中,提升网站的数据访问速度:

本地缓存:访问速度更快一些,但是受内存容量限制

远程分布式缓存:以集群的方式,理论上可以做到不受内存容量限制

4.应用服务器集群——改善并发处理能力

集群是网站解决高并发,海量数据问题的常用手段:

5.数据库读写分离:

配置两台数据库主从关系,实现读写分离,改善数据库负载压力

6.使用反向代理和CDN加速网站响应

网站想要加速访问速度,主要手段有使用CDN,和反向代理:其基本原理都是缓存,区别:CDN部署在网络提供商机房,用户访问网站时,从离自己最近的网络商机房获
取数据;反向代理部署在网站中心机房,用户访问请求到达中心机房后,首先访问反向代理服务器,如果反向代理服务器中缓存着用户请求的资源,就直接返回

7.分布式文件系统和分布式数据库系统:

分布式数据库是网站数据库拆分的最终手段,只在单表数据规模非常庞大时使用,不到万不得已,网站更常用的数据库拆分手段是业务分库,将不同业务数据库部署在
不同物理服务器上:

8.使用NoSQL和搜索引擎:

对数据存储和检索的需求越来越复杂时:

9.业务拆分:

将网站拆分成许多不同的应用,应用之间可通过超链接建立联系,也可通过消息队列进行数据分发,最多的还是通过访问同一个数据存储系统来构建一个关联的系统

10.分布式服务:

网站拆分开的子业务应用需要执行相同的业务操作,比如:用户管理,商品管理等,将这些公共业务提取出来,独立部署。由这些可复用的业务连接数据库,应用系统只需要管理用户界面:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: