AWS 的最佳架构模型
Best Architecture Model for AWS
我们有一款产品刚刚完成 Dev,运行 处于 Beta 阶段。
我们现在想花时间将它开发到基于云的架构上。
这是一个 PHP/Node.JS 平台,带有 MySQL 数据库。每个 Tennant 都有一组单独的设置,根据使用的主机名加载(存储在数据库中,因为 Web 应用程序层是无状态的)。还有一个单独的主实例用于控制子实例。
我的思路如下:
- 为数据库使用 Amazon Aurora 无服务器。
- 在自己的专用主机上拥有主实例
- 对于所有子实例,拥有一组全部具有共享虚拟主机配置的 EC2 实例,然后 Web 应用程序根据 Web 请求中使用的域名为该用户会话加载特定设置。在所有这些前面都有一个负载平衡器,然后随着负载的增加,可以动态创建更多实例。
这是解决这个问题的最佳方法吗?
表面上看还可以。您能否使用这样的工具来让您更容易准确地理解您的计划?
还有,你提到了node.js。使用 AWS API 网关和 AWS Lambda,您可以使大部分堆栈无服务器,这意味着您只需要担心将 EC2 实例用于您的 PHP 代码。
我们有一款产品刚刚完成 Dev,运行 处于 Beta 阶段。
我们现在想花时间将它开发到基于云的架构上。
这是一个 PHP/Node.JS 平台,带有 MySQL 数据库。每个 Tennant 都有一组单独的设置,根据使用的主机名加载(存储在数据库中,因为 Web 应用程序层是无状态的)。还有一个单独的主实例用于控制子实例。
我的思路如下:
- 为数据库使用 Amazon Aurora 无服务器。
- 在自己的专用主机上拥有主实例
- 对于所有子实例,拥有一组全部具有共享虚拟主机配置的 EC2 实例,然后 Web 应用程序根据 Web 请求中使用的域名为该用户会话加载特定设置。在所有这些前面都有一个负载平衡器,然后随着负载的增加,可以动态创建更多实例。
这是解决这个问题的最佳方法吗?
表面上看还可以。您能否使用这样的工具来让您更容易准确地理解您的计划?
还有,你提到了node.js。使用 AWS API 网关和 AWS Lambda,您可以使大部分堆栈无服务器,这意味着您只需要担心将 EC2 实例用于您的 PHP 代码。