4
某人成功用於在Windows Azure上實現作業處理的設計是什麼?Windows Azure上的作業隊列設計
要求:
- 能力來推動工作到隊列中。
- N個工作人員可以從隊列中消耗工作並處理它們。
- 工作的調用者應該能夠被提醒(推送,而不是投票)正在完成的工作。
已有的研究結果:
- 創建使用Azure的服務總線隊列(http://blogs.msdn.com/b/appfabric/archive/2011/05/17/an-introduction-to-service-bus-queues.aspx)
- Web前端 「作業」 隊列推作業隊列,工人塊接收( ),直到作業準備就緒(以避免由於API調用交易成本而導致花費的「空」長輪詢)
關於被通知工作完成:
- 沒有明顯的能力提醒工作完成時。 我以爲我可以利用服務總線主題/訂閱(https://www.windowsazure.com/en-us/develop/net/how-to-guides/service-bus-topics/),並有一個主叫方「訂閱」「工作完成通知」主題,但是:
- 您顯然不能多次訂閱同一主題,除非您創建了多個「訂閱」條目(不擴展)
- 除非我們爲每個作業ID創建了「訂閱」,並且在Receive()API調用(使用I/O完成端口)上有調用者塊,在訂閱上,我們無法獲得何時處理作業的實時通知。
有沒有人有實施這種作業系統的任何體驗(實時,低延遲,與完成通知呼叫者)之前?
謝謝