一个项目最简单的部署应该如下图所示,
单台web server提供服务的架构
此种架构最为简单,用户上传的文件保存在web服务器上,一些数据保存在数据库里,同时提供增删改查的功能
但是此种架构有一个致命的缺点,就是当访问量增大的时候,web服务器不易水平扩展(负载均衡),因为用户上传的文件时保存在web服务器上的,如果想要使web服务器能水平扩展,首先就要解决文件上传的问题,这里有三种办法:
1.共享存储
2.FTP上传到独立的文件服务器
3.使用分布式文件系统
解决了这个问题我们就可以水平扩展web服务器了
架构如下图:
由于web服务器可以进行水平扩展,所以可以提供的访问服务大大增加,同时由于数据库仍然只有单台server提供服务
所以此种架构的性能瓶颈就集中在了数据库方面,很不好的一点就是目前关系型数据库的水平扩展很难,oracle都无能为力。
所以面对海量的上传,海量的访问,此种架构就不行了
未完待续。。。