在服务器上分割function

嗨,我想知道最好的方式来设置我目前的应用程序。 这里是一般的概要。

我有一个电话应用程序,可以从vps上传和下载照片,并将文件静态存储在其上。

电话应用程序执行一个脚本的Web请求,该脚本查询本地数据库中的照片文件path,然后返回,然后在另一个请求回到同一服务器的照片。

这台服务器也被用来安置网站。

我想知道什么是分离function的最好方法。 从我的理解,我应该得到另一台服务器,只是在数据库的数据库和脚本在查询数据库服务器的VPS。 我是否应该将照片存储在数据库服务器上,或者应该放在装有数据库的服务器上?

也是我需要一个EC2服务器或将像一个普通的VPS像这样的工作?

是的,一般的networking可伸缩性实践使用单独的networking,数据库和文件服务器。 但是,不要盲目地做现在,而不知道你的性能和可伸缩性瓶颈在哪里。

在开始进行更改之前,您需要对应用程序进行基准testing和分析。 让它工作,然后加快速度。

另外,你可以在一台服务器上合理的加载caching和调整每一层(网页,数据库,文件系统)。