大型网站技术架构笔录(1):演化

一)大型网站软件系统特点:

1)高并发、大流量:想想每年双十一

2)高可用:7*24小时不间断服务

3)海量数据:存储管理海量数据

4)用户分布广泛,网络情况复杂

5)安全环境恶劣:黑客,黑客,黑客

6)需求快速变更,发布频繁:快速适应市场,满足用户需求

7)渐进式发展:大型网站都是从小网站开始的

二)大型网站架构演化过程

1)初始阶段网站架构:应用程序、数据库、文件等所有资源都集中在一台服务器,LAMP架构。

瓶颈:各种压力大,不说了。

2)将应用和数据库从物理上分离,变成了3台机器。

应用服务器(CPU强),数据库服务器(快速存储与查询,大快硬盘),文件服务器(存储用户上传文件,大硬盘)

瓶颈:数据库压力大,导致访问延时。

3)增加缓存,采用缓存机制来减少数据库连接资源的竞争和对数据库读的压力,二八定律。

缓存分为:本地缓存和远程缓存(可以是分布式的),本地缓存访问速度快,但数据量有限;远程分布式缓存可以集群,因此容量不受限制

   

4)服务器集群,改善并发处理能力

增加服务器,系统可伸缩性。负载平衡调度,分发用户访问请求。

5)数据库读写分离

缓存解决不了全部问题,还是要访问数据库的,不够用。

主从热备功能,一主几从,同步更新。

写数据,访问主数据库,再同步更新到从数据库,读时就可以从从数据库获得数据。

读写分离对应用透明。

6)反向代理、CDN加快响应

基本原理都是缓存,CDN使用户就近的网络服务商访问,反向代理器部署在中心机房,用户请求先访问反向代理器,如有缓存资源直接返回给用户。

CDN和反向代理加快了响应速度,减轻了后端服务器压力。

7)分布式文件系统、分布式数据库系统

单机系统是注定满足不了持续增长的需求的,所以分布式,分布式

   

8)NoSQL和搜索引擎

NoSQL和搜索引擎都是源自互联网的技术手段,对可伸缩的分布式特性具有更好的支持。应用服务器则通过一个统一数据访问模块访问各种数据,减轻应用程序管理诸多数据源的麻烦。

9)业务拆分

网络业务拆分成不同的产品线和应用,比如购物系统分为首页、商铺、卖家、订单等业务,通过消息系统进行数据分发,通过数据存储系统构成完整关联系统。

10)分布式服务

业务越拆越多,提取公用业务,独立部署。用户系统仅维护页面,通过分布式服务调用共有服务完成具体业务。

   

驱动大型网站技术发展的是业务需求,没有需求就没有生产力的说。

   

参考:

http://www.blogjava.net/BlueDavy/archive/2008/09/03/226749.html

http://www.cio.com.cn/eyan/17172.html

http://www.cnblogs.com/edisonchou/p/3773891.html

https://blog.linuxeye.com/401.html

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-12-11 18:17:51

大型网站技术架构笔录(1):演化的相关文章

大型网站技术架构笔录(2):模式

大型网站架构模式 既然是模式,就是经验之道,可重用的东西. 1)分层 想想7层或4层网络模型,每层负责相对单一的功能,上下层调用. 网站一般分为三个层次:应用层.服务层和数据层.具体实现,还可以继续细化分层. 应用层:具体业务.视图展示,网站首页,搜索结果等 服务层:为应用层提供服务支持,如购物车,用户管理 数据层:提供数据存储访问,如数据库.缓存.文件 分层独立性,保持接口不变,合理规划分层边界和接口,禁止跨层调用和逆向调用 2)分割 纵向切分,把不同的功能和服务切割开,如购物业务可拆分成家电

《大型网站技术架构-核心原理与案例分析》之一: 大型网站架构演化

最近刚刚读完李智慧的<大型网站技术架构-核心原理与案例分析>,对每章重点内容作了一些笔记,以便加深印象及日后查阅. 一.大型网站软件系统的特点 高并发,大流量:需要面对高并发用户,大流量访问. 高可用:系统7X24小时不间断服务. 海量数据:需要存储.管理海量数据,需要使用大量服务器. 用户分布广泛,网络情况复杂:许多大型互联网都是为全球用户提供服务的,用户分布范围广,各地网络情况千差万别. 安全环境恶劣:由于互联网的开放性,使得互联网站更容易受到攻击,大型网站几乎每天都会被黑客攻击. 需求快

《大型网站技术架构》读书笔记一:大型网站架构演化

一.大型网站系统特点 (1)高并发.大流量:PV量巨大 (2)高可用:7*24小时不间断服务 (3)海量数据:文件数目分分钟xxTB (4)用户分布广泛,网络情况复杂:网络运营商 (5)安全环境恶劣:黑客的攻击 (6)需求快速变更,发布频繁:快速适应市场,满足用户需求 (7)渐进式发展:慢慢地运营出大型网站 二.大型网站架构演化过程 (1)初始阶段网站架构:一台Server就刚需-应用程序.数据库.文件等所有资源都集中在一台Server上,典型案例:基于LAMP架构的PHP网站 (2)应用和数据

大型网站技术架构(一)--大型网站架构演化(转)

http://blog.csdn.net/chaofanwei/article/details/26865169 看完了有一本书,就应该有所收获,有所总结,最近把<大型网站技术架构>一书给看完了,给人的印象实在深刻,再加上之前也搞过书本上讲的反向代理和负载均衡以及session独立存储和缓存,因此书本看起来还是挺通俗易懂的,而且作者李智慧给人的印象(书本)也挺深刻的,我从这本书中也学到了许多,了解的许多,但是理解还是比较抽象的,写出来才是真正的理解,因此准备写一系列的博客来介绍和加深理解大型网

大型网站技术架构--核心原理和案例分析 大型网站架构演化(一)

如果把上世纪90年代CERN正式发布web标准和第一个WEB服务的出现当作互联网的开始,那么互联网站的发展之经历了短短20多年的时间.在20多年的时间里,互联网的世界发生了变化,今天,全球有近一半的人口使用互联网,人们的生活因为互联网而产生了巨大的变化.从信息检索到即使通信,从电子购物到文化娱乐,互联网渗透到生活的每一个 角落,而且这种趋势还在蔓延.因为互联网,我们的世界正变得越来越小. 同时我们也看到,在互联网跨越式发展进程中,在电子商务火热的市场背后却是不堪重负的网站架构.某些B2C网站逢促

大型网站技术架构(一)--大型网站架构演化

看完了有一本书,就应该有所收获,有所总结,最近把<大型网站技术架构>一书给看完了,给人的印象实在深刻,再加上之前也搞过书本上讲的反向代理和负载均衡以及session独立存储和缓存,因此书本看起来还是挺通俗易懂的,而且作者李智慧给人的印象(书本)也挺深刻的,我从这本书中也学到了许多,了解的许多,但是理解还是比较抽象的,写出来才是真正的理解,因此准备写一系列的博客来介绍和加深理解大型网站技术架构. 说道大型网站,就的先说大型网站的特点:高并发,大流量,高可用,海量数据等.下面就说说大型网站的架构演

大型网站技术架构演化

一.大型网站软件系统的特点 1.高并发.大流量 a.什么是高并发? 高并发是互联网分布式系统架构设计中必须考虑的因素之一,它通常是指,通过设计保证系统能够同时并行处理多个请求. b.高并发的衡量指标有哪些? (1)响应时间:系统对请求做出响应.例如系统处理一个HTTP请求需要200ms,这个200ms就是系统的响应时间. (2)吞吐量:单位时间内处理的请求数量. (3)QPS:每秒响应请求数.在互联网领域,这个指标和吞吐量区分的不那么明显. (4)并发用户数:同时承载正常使用系统功能的用户数量.

《大型网站技术架构》读书笔记之七:随需应变之网站的可扩展架构

此篇已收录至<大型网站技术架构>读书笔记系列目录贴,点击访问该目录可获取更多内容. 一.可伸缩与可扩展-傻傻分不清楚 上篇笔记我们学习了可伸缩架构,但在实际场合中,包括许多架构师也常常混淆可伸缩和可扩展,用可扩展表示伸缩性.那么在此,跟随作者我们来理清这两个概念,避免我们以后对其傻傻分不清楚. (1)扩展性(Extensibiltiy) 指对现有系统影响最小的情况下,系统功能可持续扩展或提升的能力.我们不禁想到了面向对象中一大原则:开闭原则,对扩展开放,对修改封闭.也就说,当系统新增一个功能时

《大型网站技术架构》读书笔记之六:永无止境之网站的伸缩性架构

此篇已收录至<大型网站技术架构>读书笔记系列目录贴,点击访问该目录可获取更多内容. 首先,所谓网站的伸缩性,指不需要改变网站的软硬件设计,仅仅通过改变部署的服务器数量就可以扩大或者缩小网站的服务处理能力.在整个互联网行业的发展渐进演化中,最重要的技术就是服务器集群,通过不断地向集群中添加服务器来增强整个集群的处理能力. 一.网站架构的伸缩性设计 1.1 不同功能进行物理分离实现伸缩 (1)纵向分离:将业务处理流程上得不同部分分离部署,实现系统的伸缩性: (2)横向分离:将不同的业务模块分离部署