Windows Azure表存储和身份验证,每秒超过100次点击

时间:2013-04-07 22:43:35

标签: mysql azure azure-storage azure-table-storage

我需要您专家意见的解决方案/推荐......

  1. 我们正在构建一个API解决方案,用户将向我们发送一个唯一的代码以及用户名和密码,以获取身份验证代码和其他信息......
  2. 挑战我们正面临着......

    1. 如何处理超过100个请求/秒?我们目前使用mysql,但扩展到该级别,数据存储成本很高。您是否认为Windows Azure表存储是选择进行身份验证的最佳选择,然后进行更新以扣除用户信用,有兴趣从我们这里获取信息.....
    2. 我们要记录大量数据。我认为windows azure存储会很便宜,但如何进行聚合和分析呢?你知道任何案例研究/方法将数据导回mysql说每日/每小时分区吗?任何已经可用于将Windows Azure存储表数据导入MySQL数据库的工具或库??
    3. 如果有人试图对我们的服务器进行大量滥用请求,如何处理该方案?尝试每秒进行大量验证,这些验证无效,只会导致我们的API遭到多次点击?如何控制?
    4. 将欣赏任何处理大量请求的经验..我们目前使用PHP和MYSQL。

1 个答案:

答案 0 :(得分:2)

对于#1:Windows Azure表存储旨在处理每个分区超过2,000个事务/秒,并在整个存储帐户中处理20,000个事务/秒,最大入站带宽为10Gbps,出站带宽为15Gbps(请参阅{{3}完整的细节)。处理100 tx / sec应该没问题。并且不要忘记实体组事务,您可以在一个事务中编写多个实体(在同一个分区内)。

对于#2(甚至#1):分区非常重要,以实现最佳性能。还要记住,如果你需要进行复杂的搜索(例如,在几个不同的属性上),你最终可能会进行分区扫描(因为你唯一的索引是分区键+行键)。如果您计划进行分析,最好只读出这些数据,根据需要进行汇总(或根据需要进行非规范化),并写入更适合分析/钻取/绘图/等的数据库。

我会说#3应该作为一个单独的问题发布,因为它属于拒绝服务类型的问题,这似乎是无关的。