[英]Azure Service Fabric usage
Service Fabric剛剛在構建會議上宣布。 我正在閱讀有關它的稀缺文檔,我有一個問題。
我正在評估Service Fabric用於托管CRUD,就像目前在ASP.NET WebApi中構建的微服務一樣。
Service Fabric是否適合托管接收數據,處理數據並返回結果的小功能,而不是托管CRUD WebApi類型的應用程序?
Service Fabric可以創建無狀態和有狀態的微服務。
顧名思義,如果節點出現故障,由無狀態服務實例維護的任何狀態都將丟失。 一個新的,新的實例將簡單地在集群中的其他地方旋轉。
有狀態服務提供了在不依賴外部存儲的情況下持久保存狀態的能力。 存儲在Reliable Collection中的任何數據都將自動復制到群集中的多個節點,從而確保狀態對故障具有彈性。
常見的模式是使用無狀態服務作為應用程序的面向客戶端的網關,然后讓該服務將流量引導到應用程序的分區有狀態服務。 這隱藏了從客戶端解析分區的工作,允許它們針對所有請求定位一個邏輯端點。
看看WordCount示例 ,了解其工作原理示例。 WordCount.WebService無狀態服務充當應用程序的前端。 它只是根據傳入的請求解析分區,然后將其發送。 WordCount.Service有狀態服務(基於單詞的第一個字母分區)立即將這些傳入請求放入ReliableQueue中,然后在后台處理它們,將結果存儲在ReliableDictionary中。
有關更多詳細信息,請參閱可靠服務概述 。
注意:目前,向客戶端公開WebAPI端點的最佳方法是在無狀態服務中自托管OWIN服務器。 很快就會支持ASP.NET 5項目。
該視頻回答了我自己的問題: http : //channel9.msdn.com/Events/Build/2015/2-704 。 總之,我們應該使用無狀態服務來托管基於ASP.NET的站點或API,這些站點或API將數據保存到外部數據存儲。
如果您沒有狀態(或者沒有外部狀態),則無狀態服務是開始的方式。
對原始問題的回答是“兩個”。 基本上,任何具有main()函數(具有幾個擴展的合同方法與Service Fabric交談)的東西都可以是Service Fabric世界中的服務。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.