簡體   English   中英

Azure Service Fabric用法

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM