我正在开发一个带有MEAN堆栈的个人项目,非常感谢您在设置服务器架构时应采取的路线建议。性能和可扩展性对我很重要,因为我希望将来构建企业级Web应用程序。
这个项目将是一个图像托管应用程序,它将包括前端,私有API和文件存储系统。
选项1:全部在同一台服务器上
选项2:同一台服务器上的前端和私有API。文件存储在单独的服务器上。
选项3:前端,私有API和文件存储都将在他们自己的服务器上。
我认为选项2可能是最好的选择,但我很乐意向那些具有类似架构的应用程序构建经验的人学习。
谢谢!
答案 0 :(得分:1)
根据您期望的规模以及您希望在服务器基础架构上花费多少,不同的情况是合适的。我会尽力解释两全其美的事。
使用此模型,您将确保文件安全且远离业务逻辑,即使核心服务很慢,最终用户也可以访问您的Web应用程序,并且可以非常轻松地管理基于API /服务的服务器规模。
答案 1 :(得分:0)
您不应该提前烘焙您的服务器架构。但是要一路测量并改进所需的缺乏特征。
所以我首先使用相同的服务器方法。
但将前端设计为无服务器架构。
创建私有API和单独的文件存储API 以进行读/写。这些可以是微服务,可以在需要时进行扩展。
您可以将这些碎片托管在其他云上/或使用您自己的碎片垂直/水平或地理位置进行缩放。
因此,您将缩放部分烘焙到您的设计中,但只能在需要时进行缩放。
基本上,您现在唯一需要小心,架构已经分解为,这样您就可以在需要时进行扩展。
注意:关于主题的两个好读物如下:Infrastructure as Code,Building microservices