我有一个小型的网络和移动应用程序,部分运行在用PHP编写的Web服务器上(Symfony)。我有一些客户使用该应用程序,并慢慢扩展到更多客户端。
我的后端架构目前看起来像这样:
现在的问题是,在PHP代码中,客户端特定的唯一内容是具有数据库凭据和Storage / S3密钥的设置文件。所有其他代码对于每个客户端都完全相同。大多数不同的虚拟机全天闲置,等待每个客户端使用几个小时。
我试图找到一种方法来避免为每个客户创建和维护VM。我如何重新架构我的后端,以便每个客户端可以保留单独的数据库和存储桶,但只在需要容量时才扩展我的VM?
我听到很多关于Docker的事情,正在考虑将数据库凭据和密钥保存在Redis数据库或云数据存储区中,正在研究Heroku,AppEngine,Elastic Beanstalk,......
这是我现在看到的理想情景
在那里的某个地方,根据传入的请求或流量确定,如果我需要旋转或减少容器以处理额外或减少(临时)负载。
所有这些信息超载让我陷入困境,我不知道选择哪个方向,而且我无法看到实施上述任何技术将如何实际解决我的问题。
答案 0 :(得分:0)
有几种方法可以做到最少: