【问题标题】:What AWS services to use in my scenario?在我的场景中使用哪些 AWS 服务?
【发布时间】:2012-07-10 12:46:20
【问题描述】:

我有一个非常简单的数据库结构(基本上只有一个用户表),有两个基本操作:

用户可以登录,获取身份验证令牌,然后使用存储在此用户表中的令牌提交一些数据(只有几个字节)。

但是,许多用户可以同时执行此操作(例如,在一分钟内 10 万用户,在有限的时间段内)。

我想知道什么是不错的技术选择。我不害怕使用 NoSQL 数据库或任何东西,并试图最终得到一些可扩展的东西。

我一直在考虑一个排队系统和一个填充数据库的任务。或者我是否只需要 Amazon SimpleDB 而无需为消息排队而烦恼?或者我是否需要 RDS 解决方案来让多个 EC2 实例与“相同”数据库通信?或者根本没有亚马逊网络服务? 感谢您的任何指点,我对此很陌生,想了解各种权衡取舍以及最适合我的应用程序的方法。

【问题讨论】:

    标签: amazon-web-services amazon-simpledb amazon-rds


    【解决方案1】:

    正如 PachinSV 所指出的,您可以选择您喜欢的任何数据库解决方案。我还要添加一个:您可以启动一个 EC2 实例并安装您选择的 DBMS,无论是 NOSQL(MongoDB、Cassandra)、SQL(MSSQL、MySQL、Oracle)还是其他。我将尝试通过这个答案来处理您问题的其他方面(应用程序本身、可扩展性以及(如果需要)存储)。

    不过,我的建议是这样的:

    -一个或两个 EC2 实例,可能是小型或中型(查看实例类型here),以处理您的应用程序负载。更多关于 EC2 here.
    - 每当您需要扩展时,您都可以在 EC2 实例之前添加一个弹性负载均衡器,这样您就可以在保持水平可扩展性的同时继续向您的生态系统添加实例。
    -对于数据库,我将从一个 RDS 实例(可能很小)开始,使用您喜欢的系统,MySQL、SQL Server 或 Oracle。使用 RDS,您可以随时更改实例大小,还可以添加一个或多个只读副本,以防您的应用程序在未来变得读取密集型。更多关于 RDS here。正如 PachinSV 所指出的,另一个不错的选择是 DynamoDB,原因他已经提到过——分区、性能、更少的限制等。
    -虽然您没有提到,如果您需要可扩展的存储,S3 绝对是您的最佳选择,并且可以随时供您使用。

    希望对你有帮助。

    【讨论】:

    • 您认为我还可以用 Amazon ElastiCache 替换我的数据库吗?通过在高并发访问下使用它几个小时,然后将其结果分析回数据库?
    • 我更喜欢在阅读密集型环境中使用 Elasticache。我认为持久化数据之前缓存数据没有多大意义。
    • 我现在尝试了 RDS,但对于连接到它的一个 EC2 实例,我被困在大约 10000 条记录更新/分钟。你认为我还能扩大规模吗?
    • 说实话,我不知道。但是您使用的是 MySQL、Oracle 还是 SQL Server?
    • MySQL。但也许我应该为每个 EC2 实例使用一个 MySQL 服务器,然后在稍后阶段“收集”所有 EC2 实例的所有结果?但随后,某些实例可能会死亡并丢失其数据。
    【解决方案2】:

    如果您在 AWS 中使用 NoSQL 数据库没有问题,您必须选择:SimpleDB 和 DynamoDB。

    使用 SimpleDB,您有 10GB/表的限制,这意味着您将不得不担心将数据分区到多个表中,并且您还受到每秒 25 次写入的限制。

    使用 DynamoDB,所有这些都会自动处理,并且您在大小或写入量方面没有限制。最好的部分是您的所有数据都存储在固态磁盘 (SSD) 中,这可以帮助您获得更好的性能。

    如果你像我这样比较传统的人可以使用RDS(关系型数据库服务),这里可以选择MSSQL、MySQL和Oracle

    【讨论】:

      【解决方案3】:

      正如您所提到的,在 RDS 中,您将受限于他们可用的最大实例的容量,并且您无法轻松扩展。如果您最终选择了符合 ACID 的 SQL 解决方案,并且想要数据库服务(而不是自己在 EC2 实例上安装数据库),EC2 上的另一个 MySQL 选项是 Xeround,它具有自动扩展功能,因此可以容纳大型并发用户数和高吞吐量。

      【讨论】:

        猜你喜欢
        • 2020-08-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-11-06
        • 1970-01-01
        • 1970-01-01
        • 2020-02-10
        相关资源
        最近更新 更多