随着用户访问量的不断增加,网站的后台也会不断变化以应对需求。本文主要从一个小型网站到大型网站的过度与变化来陈述。
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 上。
1.2.1.3 增加缓存及数据库读写分离
随着访问量的不断增加,发现整个系统的读写比例很大,对用户而言,读操作多于写操作,而且比例很大,这就需要进一步改善架构,实现读写分离。
通过增加db proxy,实现读写分离。如图所示,2-2-1-3。
图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所示。
图 2-2-1-4
如图2-2-1-4所示,增加了负载均衡器的在线备用设备和db proxy在线备用服务器,这样做可以在负载均衡器出现故障的时候,启用在线备用设备;如果db proxy出现故障,也可以启用在线备用db proxy,实现故障转移。保证系统的高可用性。
相关推荐
大型网站后台架构的演变.docx
国内外大型sns网站后台架构
大型网站后台架构的webserver与缓存.pdf
慧聪网站后台架构-B2B网站后台架构图.pdf
这个专栏为你设计了前所未有的学习路径,先对不同业务后台进行归类,再基于实际案例告诉你如何实现这些通用架构模式,并且深入探究原理,掌握共性技术之后,再进行架构能力的拓展。 第一模块:归类不同业务后台系统...
大型网站架构学习 核心技术分析 包涵案例分析和讲解。
京东商城无线端运营后台(通天塔)架构演变、移动端架构
技术架构、APP前段架构、App后台架构,在网上整理、仅供参考;可以作为标书技术架构内容。
后台架构设计 架构讲解、微服务,分布式架构的各知识点及坑点
java后台系统架构图,有需要的朋友可以下载看看,比较基本。
│ 01 为什么不同类型的业务后台架构模式是通用的?.mp4 │ 05 如何做到异构数据的同步一致性?.mp4 │ 07 如何基于流量回放实现读服务的自动化测试回归?.mp4 │ 10 如何利用依赖管控来提升写服务的性能和可用...
后台架构及开发介绍 1、整体结构框架 2、业务模块介绍 3、海量用户的运营 4、在现实中挣扎 非0即1不是我们的选择。
App后台开发运维和架构实践》通过阐述移动互联网中 App 后台开发的特点,梳理了 App 后台开发中会遇到的各个技术点,给出了生产环境常用软件的实战运维经验总结,剖析了常见 App 后台技术架构设计,为读者呈现一幅...
全民K歌歌房后台架构与优化.pdf
微信后台微服务架构及存储架构设计.pdf
本文档详细介绍了腾讯游戏后台架构的整个架构过程和介绍,相信大家深入研究下,对提高架构能力会有很大帮助。
QQGame后台架构,全球最大的休闲游戏平台, 3亿2千万人在线; 比魔兽世界更出色的架构
搭建JAVA企业级后台服务架构与运维架构 1.从无到有教会你怎么搭建公司的后台架构和运维架构 2.采用Devops模式开发 3.Springboot快速开发框架 4.ElasticSearch+Logstash+ Kibana日志分析框架 5.Redis,Mongo等NOSQL...
1.4亿在线背后的故事-——-腾讯-QQ-IM后台架构的演化与启示.ppt