2010-09-14 59 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允許按計劃可靠地檢索和同步數百萬種產品。

有樣,文檔和社區兩個項目,讓您開始。