我一直在爲這個概念奮鬥一段時間。我試圖想出一個鬆耦合的Azure組件設計,它使用隊列和工作者角色完全可擴展,隊列和工作者角色可以將這些項目出列和處理。我可以隨意調整工作角色,並且發佈到隊列從不是問題。到目前爲止這麼好,但是,這似乎是唯一的現實世界模型可以工作在火和忘記。對於日誌記錄和其他單向操作來說,這會非常棒,但是假設我想要使用隊列/輔助角色上載文件,將其保存爲blob,然後在完成後獲取響應。或者應該將這種類型的模型用於在線應用程序?操作完成後發送通知的最佳方式是什麼?我是否創建了一個響應Q,然後(以某種方式)檢索相關響應?任何幫助是極大的讚賞!!!!!Azure鬆散耦合/可擴展
0
A
回答
4
我通常會做輪詢模型。
- 客戶端(通常是瀏覽器)發送一個請求來做一些工作。
- 前端(網絡角色)排隊工作並用ID回覆。
- 後端(輔助角色)處理隊列並將結果存儲在名爲的blob或表實體中。
- 客戶端調查(「完成了嗎?」)在某個時間間隔。
- 前端檢查以查看blob或表實體是否存在並相應地進行回覆。
請參閱http://blog.smarx.com/posts/web-page-image-capture-in-windows-azure瞭解此模式的一個示例。
1
你也可以看看servicebus appfabric而不是使用隊列。使用servicebus可以發送消息,使用servicebus appfabric中的所有隊列等。你可以去發佈和訂閱,而不是輪詢!
+0
+1我已經使用服務總線進行事件通知,並且效果很好。很值得一看。並不總是最便宜的做事方式,但非常整齊。 –
相關問題
- 1. 緊耦合和鬆耦合
- 2. 什麼是鬆散耦合的代碼?
- 3. MVVM:的ViewModels的鬆散耦合
- 4. OOP設計 - 性能與鬆散耦合
- 5. F中的鬆散耦合代理#
- 6. 鬆散類耦合和數據訪問
- 7. 建模鬆散耦合域模型
- 8. 使應用層鬆散耦合
- 9. 鬆散耦合的觀察者模式
- 10. 與實體框架的鬆散耦合
- 11. 分離問題與鬆散耦合
- 12. 如何將鬆散耦合和可擴展設計與可能的異步實現結合起來?
- 13. C#鬆耦合
- 14. wcf服務可以鬆散地解耦
- 15. 什麼讓耦合「鬆散」,是否更好地編寫我的代碼鬆散耦合?
- 16. 鬆散地耦合模式對話框 - 這可能嗎?
- 17. 鬆耦合例如
- 18. 鬆耦合開發
- 19. 需要申請鬆耦合
- 20. 什麼是鬆耦合?
- 21. NHibernate實體鬆耦合
- 22. MVC3鬆耦合認證
- 23. 在Typescript中實例化對象,遵守鬆散耦合
- 24. Netty:如何在鬆散耦合的服務上共享ChannelHandleContext
- 25. 設計鬆散耦合組件用的GTK事件模型
- 26. 如何使框架和相關應用程序鬆散耦合?
- 27. 使OR或M鬆散耦合並從其他層抽象
- 28. PubSub /鬆散耦合和MVC模式在Javascript中
- 29. 棱鏡 - 從鬆散耦合裝配體注入視圖
- 30. 如何構建鬆散耦合的gradle任務屬性?
這是你!很酷的迴應。起初,我在考慮排隊迴應,但那會是錯誤的。我喜歡id/blob解決方案。十分感謝!!! PS,雲蓋ROCKS! –
很高興有幫助。 :-) – smarx