1

我需要您的专家意见的解决方案/建议...

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

我们面临的挑战..

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

将不胜感激处理大量请求的任何经验.. 我们目前使用 PHP 和 MYSQL.s

4

1 回答 1

2

对于 #1:Windows Azure 表存储旨在处理超过 2,000 个事务/秒,每个分区,以及 20,000 个事务/秒跨整个存储帐户,最大 10Gbps 入站带宽,15Gbps 出站带宽(有关完整详细信息,请参阅此 MSDN 文章) . 处理 100 tx/sec 应该没有问题。并且不要忘记实体组事务,您可以在一个事务中写入多个实体(在同一个分区内)。

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

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

于 2013-04-08T02:23:06.873 回答