`
bit1129
  • 浏览: 1072678 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

【大型网站架构二】大型网站架构的演化过程

 
阅读更多

网站系统的架构最终体现在系统的部署运行上,网站架构经历了如下阶段

 

网站服务器集中式

应用服务器、数据库存储服务器、文件服务器在一台机器上。这种部署的应用在现实中基本很少出现过,稍微有点用户规模的网站,这种部署结构的问题会立马显现。这种部署通常用于开发、写一些不会上线开放给用户用的网站。

 

应用服务器、数据库服务器、文件服务器分离

应用服务器、数据库服务器和文件服务器分离以把计算和存储分摊到三台服务器上。这种部署架构的网站存在几年的一段时间。

 

代理服务器的引入

在网站的运维过程中发现,单台web服务器的并发链接数很有限,访问web服务器的核心价值在于获取动态的数据(就Java技术而言,web服务器是一个jsp/servlet引擎),而对于静态的资源如图片、HTML请求访问等,这不是web容器的专长,也不是web容器存在的目的。此时出现了Apache+Tomcat的模式,Apache作为代理服务器,一方面直接响应静态文件(如图片、)的请求

;另一方面把动态的jsp/servlet请求转发给它代理的Tomcat服务器,Tomcat服务器处理完后,由Apache将结果返回给用户。

 

应用服务器集群引入

代理服务器出现后,并发用户连接数得到有效缓解。但是随着用户数的增加,单台应用服务器如Tomcat、Weblogic、Websphere的负载承受能力收到挑战,此时出现了应用服务器集群以分担单台服务器的负载压力, 此时的架构是反向代理服务器+服务器集群的架构。

 

KV缓存的引入

应用服务器的集群化使得应用服务器同时能够较快响应更多用户的访问请求,但单一数据库的压力读写压力上升,此时单一的数据库已然成为性能瓶颈。为了缓解数据库的访问压力,根据网站的实际运维经验,通常80%的访问集中在20%的数据上(可称为热点数据),如果把热点数据写入KV缓存,并控制好这些缓存的KV的更新、时效等问题,那么通过在数据库服务器之前加上这么一个屏障,数据库的访问压力QPS可以得到极大的缓解。实际中KV缓存可以有应用服务器JVM内缓存和KV缓存服务器集群,至于数据应该放在JVM缓存中还是KV缓存服务器中,要看数据的规模。

 

实际上,现在的大型网站使用缓存是解决性能问题首选的方案。

 

数据库读写分离

用户规模的持续增长,以及KV的命中失败导致数据库的读写依然压力很大,此时就出现了数据库读写分离的策略。即把数据库系统集群化以满足读的请求,对于些数据库,有一台主数据库服务器专门从来写操作,然后同步更新到从数据系统中。同步复制是异步的操作,同步复制进行的再快,也有个延迟,应该会出现刚更新,但是再次读却失败的情况。

 

分布式数据库

数据库读写分离后,数据库优化的最后一招牌是分库分表。把不用业务存储到不同的数据库中;水平分表,如果一张表非常大,则进行水平拆分,将一个表分解成多个表。

 

分库分表的麻烦在于跨数据库的写操作需要分布式事务;同数据库的多个分表关联查询以及不同数据库的多个分表关联查询,这些都会对性能产生比较大的影响。

 

 

CDN网站加速

CDN即内容分发网络,它部署在网络运行商机房,这样用户访问网站时,可以从离它最近的CDN服务器上获取静态内容,比如图片资源、视频资源等。

问题,当用户访问某个网站时,它最终找到某个CDN为他提供内容的过程是什么??

 

 

网站技术演进路线图

 

(图片来源:http://www.cnblogs.com/me115/p/3641822.html)

 


 

 

 

 

 

 

  • 大小: 89 KB
分享到:
评论

相关推荐

    大型网站系统架构的演化

    大型网站系统架构的演化

    大型网站架构演化

    大型网站架构演化

    大型网站系统架构演化之路.pdf

    大型网站系统架构演化之路的知识点主要包括以下几个方面: 1. 系统架构的演变过程:大型网站的系统架构并非一开始就完善,而是随着业务量的增加和业务功能的扩展逐渐演化而成。在这个过程中,会涉及到开发模式、...

    大型网站技术路线架构演化

    ### 大型网站技术路线架构演化 随着互联网的飞速发展,大型网站面临的挑战日益增多,这不仅体现在用户数量的增长上,还包括业务复杂度的提升和技术需求的变化。因此,为了应对这些挑战,大型网站的技术架构也随之...

    大型网站技术架构

    1 大型网站架构演化 1.1 大型网站软件系统的特点 1.2大型网站 架构演化发展历程 1.3大型网站架构演化的价值观 1.4网站结构设计误区 1.5小结

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

    随着互联网技术的飞速发展,中大型网站面临着日益增长的用户访问量、数据处理需求以及复杂的业务场景,传统的网站架构已无法满足这些需求。...理解这一演变过程对于设计和维护中大型网站架构至关重要。

    大型网站架构方案pdf

    ### 大型网站架构演变详解 #### 架构演变第一步:物理分离Web服务器与数据库 在网站初期,可能仅有一台服务器集成了Web服务与数据库服务。随着网站流量的增加,这种架构会面临性能瓶颈,因为Web应用和数据库之间...

    毕业设计——大型系统架构演化.zip

    【标题】"毕业设计——大型系统架构演化"指的是一个针对大型系统的毕业设计项目,这个项目可能涉及到了系统架构从初期到成熟的过程,包括了不同阶段的设计优化和演进。这样的项目通常涵盖了软件工程的多个重要方面,...

    演化架构与紧急设计——IBM架构资料

    "演化架构与紧急设计组合方法和 SLAP.htm" 可能会提到SLAP(Systematic Large-scale Architecture Practices),这是一种用于大型系统的架构方法论,它强调了在紧急设计中的系统性和结构化。 "演化架构与紧急设计对...

    大型网站架构演化发展历程

    前面已经描述了大型网站系统的特点,而对一个大型网站系统,其架构也是重要的一个环节。大型网站技术主要的挑战来自于庞大的用户、高并发以及海量的数据这三个方面。大型网站的形成就像一颗大树的成长,历尽长时间的...

    大型互联网架构设计实例分析.pdf

    最后,通过学习大型互联网软件架构的演化史和经典案例,我们可以从中吸取经验教训,如Google如何从单台服务器扩展到50万台,淘宝如何处理秒杀系统的高并发,微博如何支撑亿级用户,腾讯QQ如何处理大规模在线用户,...

    陈伟伟:当“零售”遇到“互联网”——大型电商架构演化

    陈伟伟在其文章中详细阐述了大型电商平台架构从单一...陈伟伟在文章中提供的架构演化路径为电商企业提供了宝贵的经验和参考,帮助它们在互联网零售的大潮中能够不断优化和升级自己的技术架构,以支撑业务的快速成长。

    大型项目架构演进过程及思考的点

    淘宝作为一个典型的大型电商平台,其服务端架构经历了从单一服务器到复杂分布式系统的演化。该架构主要包括以下几个层次: 1. **安全体系系统**:确保数据和服务的安全,涵盖数据安全、应用安全和前端安全等多个...

    计算机软件体系结构 ——大型网站架构演变和知识体系

    阿里巴巴中文网站架构的设计与演化是一个典型案例,展示了从最初的简单架构到复杂分布式的演变过程。 #### 网站架构演变历程 1. **物理分离应用和数据库**:最简单的方案是将应用和数据库分开部署到不同的机器上,...

    大型分布式电商系统架构是如何从0开始演进的?

    大型分布式电商系统架构的构建和演进是一个复杂且系统性的过程,它涉及到多个技术领域和设计原则。在从0开始构建这样一个系统时,我们需要考虑的关键点包括:高可用性(High Availability)、可扩展性(Scalability...

    中大型网站架构演变之路

    在中期阶段,网站架构需要进一步演化以适应更高的访问量和更复杂的功能需求。 1. **数据库架构扩展**:为了应对更高的读写请求,采用了多种数据库扩展策略,包括一主多从、读写分离、分库分表等技术。通过这些技术...

    网站架构技术

    大型网站架构演化 大型网站软件系统的特点 大型网站架构演化发展历程 初始阶段 应用服务和数据服务分离 使用缓存改善网站性能 缓存类型 本地缓存 分布式缓存 缓存产品 redis 业界...

    网站架构演化历程 高可用

    高并发+高可用+分布广泛+安全+发展历程+初始阶段的网站架构 +数据库读写分离+使用反向代理和 CDN 加速网站响应 +使用分布式文件系统和分布式数据库系统+使用 NoSQL 和搜索引擎+使用缓存改善网站性能+业务逻辑+CPU+...

Global site tag (gtag.js) - Google Analytics