現在使用Azure服務結構,是否還會有一種用例還使用單獨的隊列解決方案(如Windows Service Bus)?缺點可能是一個新的單點失敗,但有沒有好處?隊列可以添加一些緩衝區,但另一方面,Service Fabric應該能夠很好地擴展並提供有狀態的功能,因此不需要隊列緩衝區?Azure服務結構和消息隊列
14
A
回答
12
當然,好處是Azure Service Bus和Azure存儲隊列等服務提供的功能並不包括在Service Fabric中。因此,問自己的問題是:您是否添加了外部服務依賴關係來獲得該功能,或者您是否自己在Service Fabric上構建自己的服務?服務結構上的自包含應用程序是很好的,但重新發明現有功能是不好的,因此您必須決定最適合您的位置,並朝這個方向傾斜。
例如,想想..
- 可移植性。自身包含在Service Fabric中的應用程序可以託管在Service Fabric可以運行的任何位置(Azure,其他公共雲,自己的機器或數據中心等)。
- 沒有外部依賴意味着更少的故障點,單個工具集以及統一的開發,部署,升級和維護過程。
在另一方面..
- 服務,如服務總線提供rich set of features。值得花時間在Service Fabric上構建和維護您自己需要的功能嗎?
6
好問題!我也在爲此糾纏。就我而言,我正在使用RabbitMQ羣集進行排隊。我想避免它,並希望使用可靠隊列的狀態服務。我公開了一種將消息添加到服務的方法,並使用RunAsync方法在消息到達時將其出列。與連接到RabbitMQ的無狀態服務相比,我對使用這種方法的性能印象不深。但在放棄之前,我計劃將狀態服務劃分爲5個節點,並查看是否有任何性能改進,使用有狀態的服務來排隊工作。
相關問題
- 1. Azure服務結構消息隊列
- 2. 互操作性Azure服務總線消息隊列消息
- 3. 消息隊列Windows服務
- 4. 當Azure存儲隊列中的消息到達時,Azure服務結構 - 觸發器服務/角色
- 5. 使用Azure功能處理Azure服務總線隊列消息
- 6. NodeJS和隊列消息服務
- 7. Azure隊列唯一消息
- 8. 消息隊列和服務總線的消息粒度
- 9. 複式消息或Azure的隊列服務
- 10. 如何積極處理Azure服務總線隊列消息
- 11. Azure服務總線隊列消息卡住了
- 12. 從Azure服務總線接收消息時的NPE隊列
- 13. Azure服務總線獲取所有隊列消息
- 14. 將消息從SQL添加到Azure服務總線隊列
- 15. Azure服務總線隊列分組消息
- 16. Windows Azure腳本服務將消息添加到隊列中
- 17. Azure服務總線隊列消息處理
- 18. 集成api服務與消息隊列
- 19. 消息隊列服務不可用
- 20. Java消息服務隊列會話
- 21. 如何將Azure服務總線隊列中的消息觸發到Azure Data Lake?
- 22. 沒有本地消息隊列服務器的遠程消息隊列
- 23. Azure服務總線消息
- 24. Azure服務總線和消息會話
- 25. 服務結構可靠隊列FabricNotReadableException
- 26. MSMQ:消息隊列服務不可用。錯誤消息
- 27. 消息隊列服務消息未到達
- 28. 消息隊列服務重新啓動後服務沒有收到消息
- 29. Azure隊列存儲消息大小
- 30. Azure隊列消息優先級
對您關於RabbitMQ vs Reliable Queues性能的評論真的很感興趣。你最終得到了什麼? – kenchilada
我們的應用需要處理大量的會話。我開始使用5種有狀態的服務,每種都有自己的分區,使用Reliable Qs。分區用於幫助分發消息的負載。用這條路線處理1000個信息花了45秒。使用RMQ,跨越3個分區無狀態服務,處理1000 msgs只需要0.350秒!不僅在處理方面有了巨大的改進,而且不再需要有狀態副本。 – code5
爲了進一步修正我之前說的話,@Vaclav Turecek提到的缺點是應用程序的零件和零件更加分散而不是自包含。我們的一位工程師正在研究如何使用服務結構集羣對RMQ進行集羣。這還沒有更新。我曾希望使用Azure Service Bus,但業務並不想與Azure綁定。 – code5