寒假阅读笔记一
大型网站技术架构—阅读笔记一
任何网站的基本组成都是,应用服务器、文件服务器、数据库服务器。一开始,这些服务器都是部署在一台服务器上的,而且在初期,这样的配置绰绰有余。但随着网站运营的越来越好,网站的访问人数越来越多,渐渐的,网站的反应速度跟不上了,越来越慢。这时,网站的格局就要改变。
提高网站的性能的方法:
- 应用服务器、文件服务器、数据库服务器分开布置在三台服务器上。
- 使用缓存改善网站性能,二八定律
- 使用应用服务集群改善网站的并发处理能力,更加服务器,分担压力
- 数据库读写分离,数据库的主从热备功能,一台专门“写”,另一台专门“读”
- 使用反向代理和CDN加速网站相应
a) CDN部署在网络提供商的机房中
b) 反向代理部署在网站的中心机房中
- 使用分布式文件系统和分布式数据库系统,业务分库
- 使用NoSQL和搜索引擎
- 业务拆分,将网站业务分成不同的产品线
- 分布式服务,提取出相同的业务操作,独立部署
文中有一段我认为很经典的话:
这个世界上没有哪个网站从诞生起就是大型网站;也没有哪个网站第一次发布就拥有庞大的用户,高并发的访问,海量的数据;大型网站都是从小型网站发展未来。网站的价值在于它能为用户提供什么价值,在于网站能做什么,而不在于它是怎么做的,所以在网站还很小的时候就去桌球网站的架构是舍本逐末的,得不偿失旳。小型网站最需要做的就是用户提供好的服务来创造价值,得到用户的认可,活下去,野蛮生长。
不要一味的用技术解决所有的问题。考虑业务流程。
大型网站软件系统的特点:
- 高并发性,大流量
- 高可用
- 海量数据
- 用户分布广泛,网络情况复杂
- 安全环境恶劣
- 需求快速变更,发布频繁
- 渐进式发展