《大型网站技术架构 核心原理与案例分析》读书笔记一

@大型网站软件系统的特点
1,高并发,大流量
2,高可用
3,海量数据
4,用户分布广泛,网络情况复杂
5,安全环境恶劣
6,渐进式发展

@大型网站架构演化发展历程
1,初始阶段的网站架构
大型网站都是从小型网站发展而来,网站架构也是一样,是从小型网站架构逐步演化而来。初始阶段的网站架构,应用程序,数据库,文件等所有资源都在一台服务器上。
1大型网站技术架构 核心原理与案例分析
2,应用服务和数据服务分离
随着网站业务的发展,越来越多的用户访问导致性能越来越差,越来越多的数据导致存储空间不足,这时就需要将应用和数据分离。
2大型网站技术架构 核心原理与案例分析
3,使用缓存改善网站的性能
网站访问特点和现实世界的财富分配一样遵循二八定律:80%的业务访问集中在20%的数据上。缓存这20%的数据可以减少数据库的访问压力,提高整个网站的数据访问速度。
3大型网站技术架构 核心原理与案例分析
4,使用应用服务器集群改善网站的并发处理能力
4大型网站技术架构 核心原理与案例分析
5,数据库读写分离
目前大部分的主流数据库都提供主从热备功能,通过配置两台数据库主从关系,可以将一台数据库服务器的数据更新同步到另一台服务器上,网站利用数据库这一功能,实现数据库读写分离,从而改善数据库负载压力。
5大型网站技术架构 核心原理与案例分析
6,使用反向代理和CDN加速网站响应
随着网站业务不断发展,用户规模越来越大,由于中国复杂的网络环境,不同地区的用户访问网站时,速度差别也极大。研究表明,网站访问延迟与用户流失率正相关。
CDN和反向代理的基本原理都是缓存,区别在于CDN部署在网络提供商的机房,使用户在请求网站服务时,可以从距离自己最近的网络提供商机房获取数据;而反向代理则部署在网站的中心机房,当用户请求到达中心机房后,首先访问的服务器是反向代理服务器,如果反向代理服务器中缓存着用户请求的资源,就将直接返回给用户。
6大型网站技术架构 核心原理与案例分析
7,使用分布式文件系统和分布式数据库系统
分布式数据库是网站数据库拆分的最后手段,只有在单表数据规模非常庞大的时候才使用。不到不得已,网站常用的数据库拆分手段是业务分库,将不同业务的数据库部署在不同的物理服务器上。
7大型网站技术架构 核心原理与案例分析
8,使用NoSQL和搜索引擎
随着网站业务越来越复杂,对数据存储和检索的需求也越来越复杂
8大型网站技术架构 核心原理与案例分析
9,业务拆分
大型网站为了对日益复杂的业务场景,通过使用分而治之的手段将整个网站业务分成不同的产品线,如大型购物交易网站就会将首页,商铺,订单,买家,卖家等拆分成不同的产品线,分归不同的业务团队负责。
9大型网站技术架构 核心原理与案例分析
10,分布式服务
随着业务拆分越来越小,存储系统越来越大,应用系统的整体复杂度呈指数级增加,部署维护越来越困难。既然每个应用系统需要执行许多相同的业务操作,比如用户管理,商品管理等,那么可以将这些共有的业务提取出来,独立部署。
由这些可复用的业务连接数据库,提供共有业务服务,而应用系统只需要管理用户界面,通过分布式服务调用共用业务服务完成具体操作。
10大型网站技术架构 核心原理与案例分析

事物发展到一定阶段,就会拥有自身的发展冲动,拜托其初衷,向着使自己更强大的方向发展,比如许多大型网站都开始建设云计算平台,将计算作为一种基础资源出售。

@大型网站架构演化的价值观
网站的价值在于它能为用户提供什么价值,在于网站能做什么,而不在于它是怎么做的,所以在网站还很小的时候就去追求网站的架构是舍本逐末,得不偿失的。小型网站最需要做的是为用户提供好的服务来创造价值,得到用户的认可,活下去,野蛮生长。

1,大型网站架构技术的核心价值是随网站所需灵活应对
大型网站架构技术的核心价值不是从无到有搭建一个大型网站,而是能够伴随小型网站业务的逐步发展,慢慢地演化成一个大型网站。

2,驱动大型网站技术发展的主要力量是网站的业务发展
创新的业务发展模式对网站架构逐步提出更好要求,才使得创新的网站架构得以发展成熟。是业务成就了技术,是事业成就了人,而不是相反。所以架构师应该对成就技术成绩的网站事业心存感恩,并努力提高技术回馈业务,才能在快速发展的互联网领域保持持续进步。

@网站架构设计误区
1,一味追随大公司的解决方案
2,为了技术而技术
3,企图用技术解决所有问题
12306真正的问题其实不在于它的技术架构,而在于它的业务架构。后来证明12306确实是朝这个方向发展的:在售票方式上引入了排队机制,整点售票调整为分时段售票。其实如果能控制并发访问的量,很多棘手的技术问题也就不是什么问题了。
技术是用来解决业务问题的,而业务问题,也可以通过业务的手段来解决。

@小结
时至今日,大型网站的架构演化方案已经非常成熟,各种技术方案也逐渐产品化。
所以能亲身经历一个网站从小大的演化过程的网站架构师越来越少,虽然过去有这种经历的架构师也少(从小型网站发展成大型网站的机会本来就极少),但是将来可能真就没有了。
但也正因为网站架构技术演化过程难以重现,所以网站架构师更应该对这个过程深刻了解,理解已经成熟的网站架构技术方案的来龙去脉和历史渊源,在技术选型和架构决策时才能有的放矢,直击要害。

名词解释:CDN
CDN的全称是Content Delivery Network,即内容分发网络。其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上。其目的是使用户可就近取得所需内容,解决 Internet网络拥挤的状况,提高用户访问网站的响应速度。

郑重声明:

1 本资源来源于互联网,资源的版权归资源原作者所持有,受《中华人民共和国著作权法》等相关法律保护。

2 由于无法和原作者取得联系,所以上传的部分资源无法先通过原作者的同意就分享给大家了,如本资源侵犯了您(原作者)的权益,请联系我们(微信号 xiaohaimei1989),我们会立马删除您的资源,并向您表达诚挚的歉意!

3 本站是一个公益型网站,分享资源的目的在于传播知识,分享知识,收取一点点打赏的辛苦费是用于网站的日常运营开支,并非用于商业用途。

4 本站资源只提供学习和参考研究使用,使用过后请在第一时间内删除。本站不承担资源被单位或个人商用带来的法律责任。

发表评论