gpt4 book ai didi

amazon-web-services - Web 服务器和数据库服务器托管在 Amazon EC2 的不同实例上

转载 作者:行者123 更新时间:2023-12-04 00:14:32 26 4
gpt4 key购买 nike

我计划运行一个 Web 应用程序,预计流量约为 100 到 200 个用户。

目前我已经在亚马逊上设置了单个小型实例。该实例由所有内容组成——Web 服务器(Apache)、数据库服务器(MySQL)和 IMAP 服务器(Dovcot)。我正在考虑将我的数据库服务器移出这个实例并为其创建一个单独的实例。现在我的问题是——

  • 我的网络服务器和数据库服务器之间的通信是否会出现延迟(两者都托管在 Amazon 上的不同实例上)
  • 如果是,克服这个问题的标准方法是什么? (或者我需要设置虚拟私有(private)云吗?)
  • 最佳答案

    如果您希望您的架构可扩展,您应该将 Web 服务器与数据库服务器分开。

    您将支付的低延迟(即使在多个可用区之间也约为 1-2 毫秒)将为您提供更好的性能,因为您可以单独扩展每个层。

  • 您可以添加小型(甚至微型)实例来处理 load balancer 后面的更多 Web 请求。 ,而无需复制必须具有数据库的实例
  • 您可以添加auto-scale Web 服务器的组,它将根据使用负载自动扩展您的 Web 服务器层
  • 您可以扩展您的数据库实例,以获得更多内存,获得更好的缓存命中
  • 您可以添加Elastic Cache在您的 Web 服务器和数据库之间
  • 您可以使用Amazon RDS作为托管数据库服务,它完全不需要数据库实例(您只需为 RDS 中数据库的实际使用量付费)

  • 您可以获得的另一个好处是您的数据库具有更好的安全性。如果您的数据库位于单独的实例上,您可以阻止从 Internet 访问它。您可以使用 security group只允许来自您的 Web 服务器的 sql 连接,而不是来自 Internet 的 http 连接。

    此配置可以在常规 EC2 环境中运行,无需使用 VPC。您当然可以添加 VPC 以获得更好的控制环境,而无需额外成本也不会增加太多复杂性。

    简而言之,为了可扩展性和高可用性,您应该分离您的层(Web 和 DB)。您可能还会发现自己也节省了成本。

    关于amazon-web-services - Web 服务器和数据库服务器托管在 Amazon EC2 的不同实例上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13988579/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com