大型网站架构演化发展历程 - 下

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/aimeimeiTS/article/details/83006287

1-5见上一篇博文:大型网站架构演化发展历程 - 上

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

  • CDN 和反向代理的基本原理都是缓存,区别在于 CDN 不是在网络提供商的机房,使用户在请求网站服务时,可以从距离最近自己最近的网络提供商获取数据
  • 而反向代理则部署在网络的中心机房,当用户请求到达中心机房后,首先访问的服务器时反向代理服务器,如果反向代理服务器中缓存这用户请求的资源,就将其直接返回给用户

使用 CDN 和反向代理的目的都是尽早返回数据给用户,一方面加快用户访问速度,另一方面也减轻后端服务器的负载压力。
参考:cdn加速和反向代理

7 使用分布式文件系统和分布式数据库系统

数据库经过读写分离后,从一台拆分成两台,但随着网站业务的发展依然不能满足需求,这时需要使用分布式数据库,文件系统也一样,需要使用分布式文件系统。
分布式数据库是数据库拆分的最后手段,只有在表单数据规模非常庞大的时候才使用,不到万不得已,网站更常用的数据库拆分手段是业务分库,将不同业务的数据部署到不同物理机上。

8 使用 NoSQL 和搜索引擎

数据查询和检索的需求也越来越复杂,网站需要采用一些非关系数据库技术如 NoSQL 和非数据库查询技术,如搜索引擎。
应用服务器通过一个统一的数据访问模块访问各种数据,减轻应用程序管理诸多数据源的麻烦。

9 业务拆分

通过使用分而治之的手段将整个网站业务分成不同的产品线,不同产品线分归不同业务团队负责。
具体到技术上,也会根据产品线划分,将一个网站拆分成许多不同的应用,每个应用独立维护。应用间可以通过一个超链接建立关系,也可以通过消息队列进行数据分发,当然最多的还是通过访问同一个数据存储系统构成一个关联的完整系统

10 分布式服务

随着业务拆分越来越小,应用系统的整体复杂度成指数级增加,部署维护越来越困难。
每一个应用系统都需要许多相同的业务操作,比如用户管理、商品管理等,那么可以将这些共用的业务提取出来,独立部署。由这些可复用的业务连接数据库,提供共用服务。

大型网站架构演化到这里,基本上大多数的计算问题都得以解决。
既然大型网站架构解决了海量数据的管理和高并发事务的处理,那么就可以把这些解决方案应用到网站自身以外的业务上去。云计算平台将计算作为一种基础资源出售,中小网站不需要关心技术架构问题,只需按需付费,就可以使网站随业务增长逐渐获得更大的存储空间和更多的计算资源。


文章内容摘抄自《大型网站技术架构 - 核心原理与案例分析》

猜你喜欢

转载自blog.csdn.net/aimeimeiTS/article/details/83006287