大型网站后台架构的演变
1.1 网站后台架构
主要指由web server 、应用服务器、数据库、存储、监控等组成的网站后台系统。
1.2 架构演变
个人站点后台架构。如图2-1所示。
图2-1 单台一组
如图所示,如果是个人站点,访问量不大,一般都是将web server、应用服务器、数据库部署在一台物理服务器上。从图中也可以看到,一个网站最基本的后台需要web server、应用服务器、数据库三部分组成。
1.2.1 网站架构的进一步演变
考虑到网站访问量的不断增加,网站的后台架构也必须不断调整和优化,进一步实现功能分离。特别是随着访问量不断增加以及考虑到数据库的负载和数据的重要性,数据库需要分离出来。从web server到数据库实现各个层次的负载均衡。
1.2.1.1 数据库功能分离,数据库单台部署
考虑到数据库的安全性和处理性能,数据库单台部署。如图2-2-1-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-2 前端负载均衡
如图所示,通过增加web server并用负载均衡器(load balance)来缓解前端的web server和应用服务器压力。并且,为了保证数据库的绝对安全,做了Master-Slave主从备份。这样当master db宕机之后,slave db可以立即启用。所以这样做有以下好处:
(1) 前台web server 和 应用服务器压力减少,负载均衡器分流负载。
(2) 后端数据库安全性加强,出现故障后,业务可以很快切换到slave db 上。