一个项目最简单的部署应该如下图所示,

单台web server提供服务的架构

大型网站设计的一些想法

此种架构最为简单,用户上传的文件保存在web服务器上,一些数据保存在数据库里,同时提供增删改查的功能

但是此种架构有一个致命的缺点,就是当访问量增大的时候,web服务器不易水平扩展(负载均衡),因为用户上传的文件时保存在web服务器上的,如果想要使web服务器能水平扩展,首先就要解决文件上传的问题,这里有三种办法:

1.共享存储

2.FTP上传到独立的文件服务器

3.使用分布式文件系统

解决了这个问题我们就可以水平扩展web服务器了

架构如下图:

大型网站设计的一些想法

由于web服务器可以进行水平扩展,所以可以提供的访问服务大大增加,同时由于数据库仍然只有单台server提供服务

所以此种架构的性能瓶颈就集中在了数据库方面,很不好的一点就是目前关系型数据库的水平扩展很难,oracle都无能为力。

所以面对海量的上传,海量的访问,此种架构就不行了

未完待续。。。

相关文章: