《大型网站技术架构原理与解析》第一章 大型网站架构演化
1.1 大型网站软件系统的特点
与传统企业应用系统相比,大型互联网系统有以下特点:
1、高并发、大流量
2、高可用
3、海量数据
4、用户分布广泛,网络情况复杂
5、安全环境恶劣
6、需求快速变更,发布频繁
7、渐进式发展
1.2 大型网站架构演化历程
1.2.1 初始阶段的网站架构
程序、数据库、文件等资源都在一台服务器上面,绰绰有余。
1.2.2 应用服务和数据服务分离
用户多,数据存储空间不足,这是应该要应用和数据分离。
应用服务器、文件服务器、数据库服务器。
应用服务器:要更大的cpu
数据库服务器:快速磁盘检索和数据缓存,大内存和更快的硬盘
文件服务器:更大的硬盘
1.2.3 使用缓存改善网站性能
淘宝浏览更多浏览在好的商品,百度搜索热关键词,有常登陆用户。
网站使用的缓存可以分为两种:本地缓存和专门的分布式缓存。
1.2.4 使用应用服务器集群改善网站并发处理能力
单台廉价机器组起来的集群,水平扩展。
通过负载均衡调度服务器
1.2.5 数据库读写分离
网站使用缓存后,读操作大多数不通过数据库访问,但是仍然有一部分操作需要访问数据库(缓存不命中、缓存过期)。
数据库因为负载压力过高而成为网站的瓶颈。
目前大部分主流数据库都提供主从热备功能。
1.2.6 使用反向代理和CDN加速网站响应
提升用户体验有cdn以及反向代理。content distributed network 内容分发网络。
1.2.7 使用分布式文件系统和分布式数据库系统
任何单一的服务器都满足不了持续增长的药物需求。
分布式数据库是网站数据库拆分的最后手段,只有在单表数据规模非常大的时候才使用,不到不得已时,用垂直拆分比较常见。
1.2.8 使用NoSQL和搜索引擎
要使用菲关系数据库技术和非数据库查询技术,如搜索引擎。
1.2.9 业务拆分
分为首页、商铺、订单、卖家、卖家等。
1.2.10 分布式服务
1.3 大型网站架构演化的价值观
在网站很小的时候,就追求架构,就是舍本逐末,小型网站就是为用户提供更好的服务来创造价值,得到用户的认可,活下去。
LAMP技术LINUX+APACHE+MYSQL+PHP。
1.3.1 大型网站架构技术的核心价值就是岁网站所需灵活应对
架构的演化是一点一滴慢慢演化的。Google、baidu、facebook、taobao等都是这样经历过来的。
1.3.2 驱动大型网站技术发展的主要力量是网站的业务发展
就跟设计模式是一样的,不要滥用设计模式,当重构代码的时候,需要有新的需求的时候才去改变。
1.4 网站架构的设计误区
1.4.1 一味追随大公司的解决方案
大公司的经验固然重要,但是匹配自己的业务,适合自己的才是最重要的。
1.4.2 为了技术而技术
网站技术是为了业务而存在的,除此毫无意义。
1.4.3 企图用技术解决所有问题
1.5 小结
现在很多云服务的方案已经非常成熟了,所以能亲身经历一个从小到大的架构演化过程的网站架构师越来越少了。但也正因历史难现,理解已成熟的网站架构技术方案的来龙去脉和历史渊源,尤为重要。
- 大型网站技术架构:核心原理与案例分析—第一章:大型网站架构演化
- 大型网站技术架构核心原理与案例分析--第一章(总结待续)
- 大型网站架构演化技术架构:核心原理与案例
- 大型网站架构演化技术架构:核心原理与案例
- 《大型网站技术架构原理与解析》第五章-万无一失:网站高可用架构
- 【《大型网站技术架构-核心原理与案例分析》学习笔记】大型网站架构演化(一)
- 大型网站技术架构核心原理 :大型网站架构的演化
- 不为技术而技术:大型网站架构演化解析
- 《大型网站技术架构原理与解析》第八章 固若金汤:网站的安全架构
- 架构师---(大型网站技术架构核心原理与案例分析)1大型网站架构演化
- 学习笔记2:《大型网站技术架构 核心原理与案例分析》之 大型网站架构演化
- 大型网站技术架构(一)——大型网站架构演化
- 第一章 大型网站架构演化
- 大型网站技术架构笔录(1):演化
- 【大型网站技术架构笔记】(一)演化过程
- 学习笔记4:《大型网站技术架构 核心原理与案例分析》之 大型网站核心架构要素
- [笔记] 大型网站技术架构——核心原理与案例分析 [六]
- 学习笔记6:《大型网站技术架构 核心原理与案例分析》之 万无一失:网站的高可用架构
- 大型网站技术架构:核心原理与案例分析
- 大型网站系统架构技术原理透析