在 AWS 中管理多个服务器并在存储中共享源代码的最佳实践是什么

在 AWS 中管理多个服务器并在存储中共享源代码的最佳实践是什么

我管理着一个单体电子商务网站,并且想使用负载平衡器和单个数据库服务器将其扩展到多台服务器。

load balancer    -> server 1  -> db server  
                |             ^
                L-> server 2  |

并且每台服务器中都有一个用于电子商务的Web应用程序,并且这些Web应用程序源代码是相同的。

相同的源代码促使我想到我可以使用 AWS EFS 存储在多台服务器中共享相同的源代码,这样我只需要管理单个源代码。

不过,我不太确定这种服务器结构是好是坏。

请让我知道任何更好的想法或在实施该服务器结构之前需要考虑的事项。

谢谢!!

答案1

为什么源代码会放在你的服务器上?它是 PHP 还是解释型语言?如果它是编译型语言,请将源代码放在服务器之外。

我认为最佳做法是将代码保存在源代码控制中,例如 AWS CodeCommit,然后使用 CodeBuild 和 CodePipeline 进行构建/部署。如果您想要自动扩展,则有两个主要部署选项:

  • 每次签入后,都要构建一个“黄金映像”AMI。当需要新实例时,自动扩展会从新映像启动它
  • 拥有一个基于普通服务器映像或定制 AMI 启动新实例的系统,该系统下载源代码,根据需要进行编译,然后将其放入负载均衡器。这并不像听起来那么困难。

相关内容