当前位置:首页 > 公司荣誉 >

网站架构演化发展历程

编辑:北京飞炫空间展览展示有限公司 时间:2017-09-11 13:53:43阅读次数:2
网站架构演化发展历程 大型网站系统的特点

1,高并发,大流量:需要面对高并发用户,大流量访问。
2,高可用:不间断服务。
3,海量数据:管理处理海量数据,使用大量服务器。
4,需求快速变更,发布频繁:互联网产品为快速适应用户需求,版本迭代。

1. 初始阶段的网站架构

\

2. 应用服务器和数据服务分离

\

随着网站业务的发展,一台服务器逐渐不能满足需求:越来越多的用户访问导致性能越来越差,越来越多的数据导致存储空间不足。这是就需要将应用和数据分离。应用和数据分离后整个网站使用三台服务器:应用服务器、文件服务器和数据库服务器,如图2所示。
应用和数据分离后,不同特性的服务器承担不同的服务角色,网站的并发处理能力和数据存储空间得到了很大改善,支持网站的业务进一步发展。但是随着用户逐渐增多,网站又一次面临挑战:数据库压力太大导致访问延迟,进而影响整个网站的性能,用户体验收到影响,需要进一步优化。
3. 使用缓存改善网站性能

\

网站使用缓存分为两种:缓存在应用服务器上的本地缓存和缓存在专门的分布式缓存服务器上的远程缓存。本地缓存的访问速度更快一些,但是受应用服务器内存限制,其缓存数据量有限,而且会出现和应用程序争用内存的情况。远程分布式缓存可以使用集群的方式,部署大内存的服务器作为专门的缓存服务器,可以在理论上做到不受内存容量限制的缓存服务,如图3所示。
使用缓存后,数据访问压力得到有效缓解,但是单一应用服务器能够处理的请求连接数有限,在网站访问高峰期,应用服务器成为整个网站的瓶颈。

4. 使用应用服务器集群改善网站的并发处理能力

\

使用集群是完整解决高并发、海量数据问题的常用手段。当一台服务器的处理能力,存储空间不足时,通过增加一台服务器分担原有的服务器的访问及存储压力。对网站结构而言,只要能通过增加一台服务器的方式改善负载压力,就可以同样的方式持续增加服务器不断改善系统性能,从而实现系统的可伸缩性。
通过负载均衡调度服务器,可将来自用户浏览器的访问请求分发到应用服务器的集群中的任何一台服务器上,如果有更多的用户,就在集群中假如更多的应用服务器,使应用服务器的负载压力不再成为整个网站的瓶颈。

5. 数据库读写分离

\

网站在使用缓存后,使绝大部分的数据读操作访问都可以不通过数据库就能完成,但是仍有一部分读操作(缓存访问不命中、缓存过期)和全部的写操作需要访问数据库,在网站的用户达到一定的规模后,数据库因为负载压力过高而成为网站的瓶颈。
目前大部分的主流数据库都提供主从热备功能,通过配置两台数据库主从关系,可以将一台数据库服务器的数据库更新同步到另一台服务器上。网站利用数据库的这一功能实现数据库读写分离,从而改善数据库负载压力,如同5所示。
应用服务器在写数据的时候,访问主数据库,主数据库通过主从复制机制将数据更新同步到从数据库,这样当应用服务读数据的时候,就可以通过从数据库获得数据。为了便于应用程序访问读写分离后的数据库,通常在应用服务器端使用专门的数据访问模块,是数据库读写分离对应用透明。

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

\

随着网站业务不断发展,用户规模越来越大,由于中国复杂的网络环境,不同地区的用户访问网站时,速度差别也极大。有研究表明,网站访问延迟和用户流失率正相关,网站访问越慢,用户越容易失去耐心而离开。未来提供更好的用户体验,留住用户,网站需要加速网站访问速度。主要手段有使用CDN和反向代理,如图6所示。
CDN和反向代理的基本原理都是缓存,区别在于CDN部署在网络提供商的机房,使用户在请求网站服务时,可以从距离自己最近的网络提供商机房获取数据;而反向代理则部署在网站的中心机房,当用户请求到达中心机房后,首先访问的服务器是反向代理服务器,如果反向代理服务器中缓存着用户请求的资源,就将其直接返回给用户。
使用CDN和反向代理的目的都是尽早返回数据给用户,一方面加快用户访问速度,另一方面也减轻后端服务器的负载压力。

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

\

企业建站2800元起,携手武汉肥猫科技,做一个有见地的颜值派!更多优惠请戳:武汉网站建设公司哪家好 https://www.feimao666.com

上一篇:PHP实现SVN管理的一些总结 下一篇:最后一页

相关阅读