1

我想从不同的第三方 API Web 服务中提取大量数据,并将其存储在暂存区域(这是我现在要决定的),然后根据需要将其一一移动到我的应用程序中数据库。

我想知道我可以使用Azure平台来实现上述吗?使用 Azure 平台完成这项任务有多好?

如果要拉取的数据量很大并且拉取的频率很高,例如,可能是半小时或每小时 2000 个不同的用户,该怎么办?

我假设如果这一切都是可能的,那么带宽、数据存储和服务器能力等将不是我担心的事情,而是 ©Microsoft。显然,我应该能够在需要时访问数据。

如果我必须在 Windows 服务器上实现它,那么我知道我会使用 Windows 服务来执行此操作。但是如果可能的话,我不知道如何为 Windows Azure 平台完成它?

4

2 回答 2

1

在 Windows Azure 中,这通常是用于托管云处理的 Worker Role。为了完成您的任务,您需要自己实现此消息传递/调度基础架构,或者使用Lokad.CloudLokad.CQRS等 Azure 开源项目。

我们使用 Lokad.Cloud 对数十万个系列进行分布式 BI 处理,而 Lokad.CQRS 允许按时可靠地检索和同步数百万个产品。

这两个项目中都有示例、文档和社区来帮助您入门。

于 2010-09-14T18:06:03.960 回答
1

正如 Rinat 所说,您可以使用 Lokad 的解决方案。如果你选择自己做,你可以在你的工作角色中运行一个定时任务——也许会产生一个休眠的线程,每 30 分钟醒来一次以执行它的任务。然后它可以访问相关的 Web 服务(或者每个 Web 服务一个线程?)并获取数据。您可以将其临时存储在 Azure 表存储中,这只是 SQL Azure 成本的一小部分(每 GB 0.15),然后可以轻松地按需从表存储中读取并传输到 SQL Azure。

假设您托管您的服务、存储和 SQL Azure 在同一个数据中心(通过适当地设置关联),您只需在从 Web 服务中提取数据时支付带宽费用。从表存储中检索或插入 SQL Azure 不会产生带宽费用。

于 2010-09-14T18:11:11.940 回答