【问题标题】:How to handle traffic spike without impacting database performance如何在不影响数据库性能的情况下处理流量峰值
【发布时间】:2019-12-13 05:44:43
【问题描述】:

我在 AWS 学习期间遇到了这个问题,并且没有提供所提供的答案:

正在创建一个三层应用程序来托管小型新闻文章。 该应用程序预计将为数百万用户提供服务。破的时候 新闻发生时,该站点必须处理非常大的流量高峰,而无需 显着影响数据库性能。哪种设计符合这些 在最小化成本的同时满足需求?

Options:
A.  Use auto scaling groups to increase the number of Amazon EC2 instances delivering the web application.
B.  Use auto scaling groups to increase the size of the Amazon RDS instances delivering the database
C.  Use Amazon DynamoDB strongly consistent reads to adjust for the increase in traffic
D.  Use DynamoDB Accelerator (DAX) to cache read operations to the database 

正确答案:

 D. Use DynamoDB Accelerator (DAX) to cache read operations to the database

虽然 D 在应用程序使用 DynamoDB 作为后端数据库的情况下是正确的,但是,没有指示表明底层数据库是 DynamoDB,这里这个答案是不正确的。 选项 A - 虽然它增加了成本,将能够处理可能导致数据库性能的大峰值。

我错过了什么吗?

非常感谢。

【问题讨论】:

    标签: amazon-web-services


    【解决方案1】:

    我了解到您正在准备参加 AWS 认证考试。您需要首先消除任何可能的无效或明显错误的答案,然后专注于剩下的唯一选项。

    A 和 C 在这种情况下无济于事。 B 无效,因为它说自动缩放会增加 RDS 实例的大小,但自动缩放会增加实例的数量,而不是大小。因此,通过消除过程 D 是唯一可能的答案。

    【讨论】:

    • 感谢您指出自动缩放会增加实例数量,而不是大小。
    【解决方案2】:

    无论是 DynamoDB 还是 RDS,自动扩展 EC2 实例都会导致对您的数据库进行更多的读/写操作。这是因为您将有更多的服务器启动,为您的数据库实例提供更多请求。

    回答您对问题未指定基础数据库的担忧。您错过了问题的重要、关键概念。

    问题是如何在不影响数据库性能的情况下进行扩展。

    我们显然可以排除 #1 和 #2,因为启动更多服务器意味着更多请求,而增加数据库实例会花费一些钱并影响性能。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-01-29
      • 1970-01-01
      • 2023-03-15
      • 1970-01-01
      • 2021-02-23
      • 2018-06-08
      • 1970-01-01
      相关资源
      最近更新 更多