1. 大型网站架构演化:向阳而生
1. 特点
- 高并发、大流量
- 高可用
- 海量数据
- 用户分布广泛,网络情况复杂
- 安全性
- 迭代迅速,业务变更快
- 渐进式发展
2. 演化
- 应用程序、数据库、文件等所有资源都在一台机器上。
![](https://img.haomeiwen.com/i7185724/50fa875bb740a289.png)
- 应用服务和数据库、文件服务分离:其中应用服务需要处理大量的业务逻辑因此需要更快更强大的CPU;数据库服务需要快速磁盘检索和数据缓存因此需要更快的硬盘和更大的内存;文件服务需要存储用户所有的文件因此需要更大的硬盘。
![](https://img.haomeiwen.com/i7185724/27ca31742465f21b.png)
- 缓存热点数据,分为本地缓存和分布式缓存服务器。
![](https://img.haomeiwen.com/i7185724/af9c03d6ae17c7c5.png)
- 应用服务器集群。
![](https://img.haomeiwen.com/i7185724/8c4880d56134a0bc.png)
- 数据库读写分离。
![](https://img.haomeiwen.com/i7185724/079d614c1defc2cb.png)
- 使用反向代理和CDN加速网站响应:CDN和反向代理基本原理都是缓存,CDN是部署在网络提供商的机房,反向代理是网站的中心机房。加速响应就是让用户从距离自己最近的网络获取到数据。
![](https://img.haomeiwen.com/i7185724/f59a61d9db8ae961.png)
- 分布式文件服务器和分布式数据库。
![](https://img.haomeiwen.com/i7185724/7ffeb7329ba279f4.png)
- 使用NoSQL和搜索引擎。
![](https://img.haomeiwen.com/i7185724/aaf43fac8f7d06e8.png)
- 根据业务模块拆分。
![](https://img.haomeiwen.com/i7185724/d38ddaf7ab46c8b4.png)
- 分布式服务。
![](https://img.haomeiwen.com/i7185724/b38eed845dce56f6.png)
大型网站发展至此,基本上大多数技术问题都能解决。
网站的价值在于它能给用户提供什么价值,在于网站是做什么的而不是怎么做的,今天我们看到的大多数网站如:阿里巴巴、腾讯、百度都是伴随小型网站的业务发展,慢慢演化成一个大型网站的。驱动网站的技术发展的主要力量是业务的快速发展。
2. 架构模式和五要素
1. 架构模式
模式的发展在于模式的可重复性,问题和场景的可重复性带来的解决方案的可重复性使用。
![](https://img.haomeiwen.com/i7185724/3c20654cc3a4106d.png)
2. 架构要素
软件架构:有关软件的整体结构和组件的抽象描述,用于指导大型软件系统各个方面的设计。
这些方面可以是具体的功能模块,也可以是非功能的设计与决策,它们共同构成了软件系统的架构,这些规划和决策奠定了事物未来发展的方向和蓝图。
![](https://img.haomeiwen.com/i7185724/aced3dc4019c8e3e.png)
参考:《大型网站技术架构:核心原理与案例分析》
网友评论