1、初始阶段 只有一台服务器,应用程序,用户上传的文件和数据库放在一起。 .../>

大型网站架构(一)

PHP 2018-02-12 浏览(1501 评论(0

网站的架构演变

1、初始阶段

只有一台服务器,应用程序,用户上传的文件和数据库放在一起。

2、应用服务和数据服务的分离

随着用户的增多,一台服务器不能满足访问的要求。这个时候就需要将应用和数据分离出来,可以使用三台服务器:一个应用服务器,一个数据库服务器,一个文件系统服务器

3、二八定律

80%的业务访问集中在20%的数据上,因此将20%的重要数据缓存到内存中,使用远程分布式缓存服务器

4、高并发

如果单台服务器CPU无法应付,可以采用应用服务器集群,通过负载均衡服务器,将用户浏览器的访问请求分发到应用服务器集群上的任何一台服务器上,相关分发的算法有:轮询、加权等

5、读写分离

随着用户的增多,即使使用了缓存,但是也会随着缓存未命中,过期等原因,导致访问数据库压力过大。所以这时候就可以考虑增加一台数据库服务器,配置这两台服务器的主从关系,实现两台服务器的数据保持一致,主服务器负责写入操作,从服务器负责读取操作

6、使用CDN和反向代理加速响应

CDN和反向代理基本原理就是缓存,可以缩短网页的加载时间,他俩的区别就在于:CDN是在运营商的机房了,可以从距离最近的服务器中获取数据;而反向代理是部署在中心机房,当用户访问请求的达到反向代理服务器时,如果有用户需要的资源则会马上返回给用户。

7、分布式文件系统和分布式数据库系统

随着用户的不断增多,文件系统也已经不能满足业务需求,此时可以增加多台服务器构成文件系统服务器集群,而数据库则将网站的业务进行分库,一个业务员对应一个集群服务器

8、使用Nosql和搜索引擎,Nosql数据库查找速度快

9、业务拆分

通过分而治之的手段,将网站拆分成许多不同的应用,每个应用独立部署

打赏

如果此文对你有所帮助,请随意打赏鼓励作者^_^

黄信强博客