首页 > 代码库 > 大型网站架构 - 1.架构的演变过程
大型网站架构 - 1.架构的演变过程
1. 第一阶段:单服务器架构
这一阶段是我们的起步阶段,比如我们创业的时候刚购买了一台云主机。
在这一阶段,为了节约成本,我们将所有的应用程序,数据库,文件全部放在这台服务器上。
然后,CPU或者内存的成本在开发阶段也使用最小能接受的成本,然后开始我们的服务器开发之路。
2. 第二阶段:应用服务和数据服务分离
随着网站的第一次上线,我们的网站如果运营得不错的话,在这之后应该会逐渐积累人气,业务
也会随着人气的发展而进一步发展。
这个时候,1台服务器显然不能满足需求了,越来越多的用户访问导致性能变差,与此同时,数据也逐渐
变多,我们考虑增加硬盘。
这个时候,首先想到的就是:将应用和数据分离
于是,网站架构变成3台服务器:应用服务器(Web Server), 文件服务器(Resource Server), 数据库服务器(Database Server)
对于3台服务器的配置要求不太一样:
Web Server: 需要处理大量的业务,需要更快的CPU。
Database Server: 需要快速检索数据和存放更多的数据,需要更大更快的硬盘,硬盘最好也是固态硬盘为主。
Resource Server: 需要存放用户上传的文件,如照片,视频等等,需要更大的硬盘,硬盘大一点,但是普通硬盘即可。
3. 第三阶段:使用缓存改善网站性能
网站业务遵循二八原则,80%的业务集中在20%的数据上。
因此,如果把这一小部分数据缓存起来,就可以i暗哨数据库访问的压力。
在初始阶段可以使用一些本地服务器的内存缓存,随着业务的扩展,
可以增加远程分布式的缓存服务器,应用一些成熟的框架,如: Redis
4. 第四阶段:应用服务器集群增加并发处理能力
集群已经显然成为现代网站处理高并发,海量数据的常规手段。
当1台服务器性能不足时,我们首先考虑的不应当是更换强大的服务器,而是应该增加服务器。
这个时候,我们的架构中应该引入负载均衡调度服务器,然后请求经过负载均衡服务器,分发到位于集群上的各个
应用服务器。
大型网站架构 - 1.架构的演变过程