`

架构演变

 
阅读更多

着用户访问量的不断增加,网站的后台也会不断变化以应对需求。本文主要从一个小型网站到大型网站的过度与变化来陈述。

  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,实现故障转移。保证系统的高可用性。

  • 大小: 21.6 KB
  • 大小: 22.2 KB
  • 大小: 70.8 KB
  • 大小: 105.1 KB
分享到:
评论

相关推荐

    SAP技术架构演变 SAP技术架构演变

    SAP 技术架构演变 SAP 技术架构的演变是 SAP 公司发展趋势的重要组成部分,本文将从技术角度对 SAP 技术架构的演变进行阐述。 1. R/2 时代(1972-1989) 在 R/2 时代,SAP 的技术架构主要基于 IBM 大型机,采用...

    大型网站架构演变和知识体系 讲解

    ### 大型网站架构演变与知识体系详解 #### 架构演变的第一步:物理分离Web服务器与数据库 在网站初创阶段,通常是通过一台主机来承载所有的功能,包括Web服务和数据库服务。随着用户访问量的增长,单一主机的性能...

    大型网站架构演变和知识体系.pdf

    ### 大型网站架构演变与知识体系解析 #### 架构演变的第一步:物理分离Web服务器与数据库 在网站发展的初期阶段,往往由于资源限制,Web应用与数据库部署在同一台服务器上。随着用户访问量的增长,单一服务器上的...

    2018大型互联网架构演变历程

    ### 2018大型互联网架构演变历程:以淘宝为例 #### 一、背景与重要性 随着互联网行业的快速发展,大型互联网企业的系统架构也在不断进化和完善。这些变化不仅仅是技术层面的进步,更是对整个互联网产业发展方向的...

    大型网站技术架构演变过程

    技术架构演变过程目录 1.架构演变第一步:物理分离webserver和数据库。 2.架构演变第二步:增加页面缓存 3.架构演变第三步:增加页面片段缓存 4.架构演变第四步:数据缓存 5.架构演变第五步: 增加webserver,应用...

    JEE技术在移动互联网中的应用--技术架构演变图

    ### JEE技术在移动互联网中的应用与架构演变 #### 概述 本文档详细地介绍了Java Enterprise Edition(JEE)技术在移动互联网领域的应用及其随访问量增长所面临的架构变化。JEE作为企业级应用程序的标准平台,其在...

    大型网站架构演变和知识体系

    【大型网站架构演变和知识体系】是一篇深入探讨互联网企业如何随着业务发展和技术进步逐步优化其架构的文章。本文将从大型网站的初期架构、垂直拆分、水平扩展、分布式服务、微服务化等方面进行详细阐述,并结合实际...

    大型网站架构演变和知识体系.

    总的来说,大型网站架构演变的知识体系包括:单体架构、垂直拆分、水平扩展、微服务架构、容器化、数据一致性理论、缓存技术、CDN、NoSQL、消息队列、监控和日志分析等多个方面。理解并掌握这些知识,有助于构建高效...

    中大型网站架构演变之路.pdf

    中大型网站架构的演变是伴随着互联网...综上所述,中大型网站架构演变是一个动态的、持续优化的过程,需要综合考虑多种技术要素,以及业务发展的不同阶段,通过不断的技术迭代和架构调整,来支撑业务的持续发展和扩展。

    整车电子电器架构演变推 动车联网信息安全的发展.pdf

    "整车电子电器架构演变推动车联网信息安全的发展" 从标题和描述中,我们可以总结出以下知识点: 1. 整车电子电器架构发展趋势:汽车工业从机械化到电气化再到机电一体化,目前正在进入第四次工业革命,即工业4.0...

    01_大型互联网架构演变历程.zip

    大型互联网架构演变历程 1. 课程目标 1.1. 了解互联网架构演变历程 1.2. 了解当前互联网架构中常用的一些 1.3. 站在巨人的肩膀上,我们的视野会更高一些 2. 淘宝技术这10年 2.1. 淘宝现状

    详解:大型网站架构演变和知识体系

    大型网站架构演变和知识体系 之前也有一些介绍大型网站架构演变的文章,例如LiveJournal的、ebay的,都是非常值得参考的,不过感觉他们讲的更多的是每次演变的结果,而没有很详细的讲为什么需要做这样的演变,再...

    大型的网站架构演变和知识体系

    大型网站架构演变和知识体系 之前也有一些介绍大型网站架构演变的文章,例如LiveJournal的、ebay的,都是非常值得参考的,不过感觉他们讲的更多的是每次演变的结果,而没有很详细的讲为什么需要做这样的演变,再加上...

    BS系统架构演变策略

    【BS系统架构演变策略】是关于大型网站在发展过程中如何逐步优化其架构以应对日益增长的访问量和性能需求的文章。文章着重讲述了从一个普通网站演变成大型网站的典型过程,涉及的关键技术和知识体系。 首先,架构...

    ebay架构原则,架构演变历史及ebay的自动化

    标题与描述均提到了“ebay架构原则,架构演变历史及ebay的自动化”,这实际上指代了eBay在IT架构设计、发展以及自动化技术应用上的深入探索与实践。以下是对这一主题的深入分析,旨在解析eBay如何通过其独特的架构...

    大型网站架构演变文档

    ### 大型网站架构演变知识点解析 #### 架构演变第一步:物理分离Web服务器与数据库 **背景**:随着网站的逐步发展,最初的单一主机难以应对不断增长的访问量及由此产生的性能瓶颈。 **解决方案**:将Web服务器与...

Global site tag (gtag.js) - Google Analytics