随着用户访问量的不断降低,网站的后台也会不断变化以规避需求。本文主要从一个大型网站至小型网站的过于与变化来陈述。
1.1 网站后台构架
主要指由web server 、应用服务器、数据库、存储、监控等组成的网站后台系统。
1.2 架构变迁
个人站点后台构架。如图2-1所示。
图2-2-1-1 数据库分离
如图所示,数据库与web server 、应用服务器分离下来,单台布署。这样做有两个弊端:
(1)数据库服务器功耗增加,不再跟webserver 、应用服务器占领资源。
(2)数据库服务器安全性能增加,不会由于一台服务器宕机而影响所有服务,特别是数据库服务。
1.2.1.2 前端负载均衡布署,用于改善单台web server压力
随着访问量的不断降低,单台web server 负载会加强,甚至有宕机的危险,所以须要在后端提高负载均衡器,实现web server层的负载均衡。缓解压力。如图2-2-1-2所示。
图2-2-1-3
考虑到读写比列大的特性,如图2-2-1-3所示,通过提高db proxy,以及master-slaves ,实现读写分离,所有写操作在master db上进行,所有读操作在其他slave dbs 上进行,这样做有以下益处:
(1)缓解单台db的压力,减少单台db的负载
(2)增加多个slave,当master db宕机以后,可以很快切换至slave 上,减少所有db同时宕机的风险。
很多用户访问,读与写操作比列巨大,如图2-2-1-3所示,通过在web server层上提高缓存,可以减少访问速率。比如可以缓存css、jpg等静态文件。
增加缓存有两个弊端:
(1)加快用户的读恳求访问速率。
(2)缓解web server的压力。
1.2.1.4 解决单点故障问题,增加在线备份设备(交换设备跟服务器)
虽然上述几个构架图,从各个层面改善了服务器压力,但是,还是存在当点故障的可能性。如果出现单点故障,没有在线地理设备提供使用,那该系统也不是一个高可用的系统。针对上述问题,增加在线地理备份设备,解决单点故障问题,如图2-2-1-4所示。