2010-09-14 57 views
1

我想经常从不同的第三方API Web服务提取大量数据,并将其存储在临时区域中(这正是我现在想要决定的),然后根据需要将它们逐一移动到我的应用程序的数据库中。从Windows Azure平台上的第三方Web服务异步提取数据

我想知道,我可以使用Azure平台实现以上?使用Azure平台执行此任务有多好?

如果要拖动的数据量很大,并且拉动的频率很高,即对于2,000个不同的用户可能是半小时或每小时一次?

我认为,如果所有这一切都是可能的,那么带宽,数据存储和服务器能力等等都不会为我担心,但对于©微软来说。显然,我应该能够在需要时访问数据。

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

回答

1

由于里纳特说,你可以使用Lokad的解决方案。如果你选择自己做,你可以在你的工作者角色中运行一个定时任务 - 可能产生一个睡眠线程,每30分钟醒来执行一次任务。然后它可以访问有问题的Web服务(或者每个Web服务可能只有一个线程?)并获取数据。您可以将其暂时存储在Azure表存储中,这是SQL Azure成本的一小部分(0.15 GB),然后轻松将其从表存储按需读出并传输到SQL Azure。

假设您托管服务,存储和SQL Azure位于相同的数据中心(通过适当设置亲和力),您只需在从Web服务提取数据时支付带宽。从Table Storage中检索或插入到SQL Azure中不会有带宽费用。

1

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

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

有样,文档和社区两个项目,让您开始。