一、大型网站架构演化
大型网站架构主要解决因庞大的用户、高并发的访问和海量的数据而引发的网站系统问题。
演化历程如下:
阶段 | 内容 |
---|---|
初始阶段 | 应用程序、数据库、文件等所有资源都在一台服务器上 |
应用服务和数据分离 | 整个网站使用三台服务器:应用服务器、文件服务器和数据库服务器。 应用服务器:处理大量的业务逻辑,需要更快跟强大的CPU; 数据库服务器:快速磁盘检索和数据缓存,需要更快的硬盘和更大的内存; 文件服务器:存储大量用户上传的文件,需要更大的硬盘 |
使用缓存 | 使用集群的方式,部署大内存的服务器作为专门的缓存服务器,有效缓解数据访问压力 |
使用应用服务器 | 通过负载均衡调度服务器,将用户浏览器的访问请求分发到应用服务器集群中的任一台服务器上,缓解应用服务器的压力 |
数据库读写分离 | 配置两台数据库主从关系。应用服务器在写数据时,访问主数据库,主数据库通过主从复制机制将数据库同步到从数据库;应用服务器在读数据时,直接访问从数据库。这样就改善了数据库负载压力。 |
使用反向代理和CDN | CDN和反向代理都是基于缓存,获取数据,直接将数据返回给用户。既加快了用户访问速度,又减轻后端服务器的负载压力。 |
使用分布式文件系统和分布式数据库系统 | |
使用NoSQL和搜索引擎 | |
业务拆分 |