2011-07-14 74 views
0

我正在開發一個小型的介紹性Azure項目,我需要以負載均衡的方式在工作人員角色之間分發文檔。 我是ASP .NET和Azure的初學者。 我想就如何用azure /資源來做到這一點,這將幫助我做到這一點。Azure項目 - 需要指導

回答

1

我會將文檔放入Azure blob存儲中,將工作項放入隊列中。工作人員會從隊列中提取條目並在處理文檔時將其刪除。請記住,如果工人失敗,您需要某種方式重新排列工作。您可以通過在刪除隊列項目前重新刷新隊列項目上的鎖定或通過使用其他存儲來實現此目的,比如可以使用表格條目進行檢查,並且可以使用這些條目檢查並用於重新排序失敗的項目。

+1

爲什麼不依靠自動重新排隊功能,如果在定義的時間段內沒有刪除條目,它會自動重新排隊? –

+0

嗨感謝您的答案。所以我真的想知道如何在azure中創建多個工作者角色。每個工作者角色是否應該有一個包含指向blob中文檔的指針的隊列? – svk

+0

您的解決方案將只包含一個工作者角色。但是在ServiceConfiguration.cscfg文件中,您將配置該角色的*實例數量*以運行。角色只需從隊列中讀取消息,處理消息並閱讀下一條消息。這樣,只要有工作要處理,每個實例都會很忙。正如我在文章中指出的那樣,隊列中的記錄應該指向blob中的文檔(文檔將有一個URL;您可以使用它)。 –

0

我建議您先閱讀Azure隊列存儲(Queue Services API)。通過將消息插入到隊列中,工作角色可以在該隊列中儘可能地工作。隊列中條目的大小限制爲8KB,因此我建議您將該實際文檔放入SQL Azure(如果您的應用程序正在使用它)或Azure BLOB存儲(Blob Storage API),並在隊列中發佈消息包含對存儲文檔的引用。

+0

嗨史蒂文謝謝..我會研究這一點,並實施它,並在錯誤/其他問題的情況下回來。 – svk