我的azure SF應用程序有兩個服務。將應用程序部署到本地羣集時,是否可以只部署其中一項服務,而不是兩種(服務)?控制Azure SF應用程序中的服務
回答
是的,你可以很明確地對此進行控制。
在你ApplicationManifest你增加了一些DefaultServices的,這些都是從添加到您的應用服務自動生成。當您從Visual Studio(或VSTS)進行部署時,您(隱式)使用自動添加到您的應用程序項目中的Deploy-FabricApplication.ps1
腳本。這個腳本同時做很多事情。即:
讀取並分析發行人的個人資料文件,以獲得所選擇的目標
上傳新的圖片版本的集羣形象店的參數值(例如雲計算,Local1Node,Local2Node等)爲ApplicationType使用新的版本號。
創建或升級基於新的圖像和版本上的應用程序實例,並創建或ApplicationManifest升級實例每個DefaultService現在
,你可以做所有這些步驟你自己,特別是,您可以選擇要爲其啓動實例的服務。
您可以使用該PowerShell (or CLI) cmdlets或使用FabricClient通過.NET代碼。
你需要做的則是(對PowerShell的,但對於FabricClient類似)是:
- 連接到集羣Connect-ServiceFabricCluster
- 複製應用程序包到集羣Copy-ServiceFabricApplicationPackage
- 如果是新的 - 用Register-ServiceFabricApplicationType
- 註冊應用程序類型 - 或 - 升級現有的Start-ServiceFabricApplicationUpgrade
- 對於每個服務要創建一個實例(是的,你可以創建同一個應用程序內的同一服務的多個實例,這是不一樣的實例的StatelessService)使用New-ServiceFabricService
所有雖然這除了使用提供的Deploy-FabricApplication.ps1外,還有很多工作要做,它使您可以完全控制部署服務的方式和時間。例如,如果您想爲同一羣集上的同一應用程序運行多個租戶,或者在同一羣集上運行同一應用程序的多個版本/環境(例如,在同一羣集上運行開發和測試),則也需要執行此操作簇)
將信息添加到您的問題感謝您的詳細步驟和鏈接!所以,當涉及到創建實例時,我想知道在發佈配置文件中是否可以保持服務的實例數等於「0」(使其他服務的實例數爲1),以便不部署某個特定的服務,即使它存在於VS應用程序項目中。 – cherry
我不確定這是否會起作用,可能會有一個阻止它的檢查,儘管我沒有嘗試過這種特定方法。然而,有一個檢查可以防止你創建比實例更多的實例,所以可能會有一個這樣的實例...你不能使用同樣的方法來實現有狀態的服務,但是你需要確定分區在部署時計算服務。您不應該在部署之後嘗試更改它,因爲這會更改現有分區中該服務的狀態保持不變的方式。 – yoape
您也可以在沒有默認服務的情況下部署應用程序,然後需要您在創建應用程序後明確創建服務。看看這個例子:https://azure.microsoft.com/en-us/resources/samples/service-fabric-dotnet-iot/ –
- 1. 控制入站流量到Azure的Web應用程序服務
- 2. 控制檯應用程序到服務
- 3. REPL控制檯應用程序服務
- 4. 監控Azure應用服務
- 5. windows服務應用程序的azure webapp
- 6. Azure應用程序服務Node.js後端
- 7. ABCpdf .NET與Azure應用程序服務
- 8. 最好的定製應用程序的Azure服務HttpListener
- 9. windows服務控制器應用程序編程接口驅動程序服務
- 10. 從控制檯應用程序異步調用Azure移動服務
- 11. Azure應用程序網關與應用程序服務
- 12. Web服務支持的iOS應用程序的控制流程
- 13. Windows服務或控制檯應用程序中的System.Timers.Timer
- 14. 從Vista中的另一個應用程序控制服務
- 15. 在ServiceHost(控制檯應用程序)中運行的WCF服務
- 16. 控制檯中的主機WCF服務應用程序
- 17. 託管在控制檯應用程序中的WCF服務
- 18. 在Azure應用服務的另一個控制器中實例化控制器
- 19. 在控制檯應用程序中使用WCF服務
- 20. 在Windows控制檯應用程序中使用ax2012服務
- 21. 在控制檯應用程序中使用wcf雙工服務
- 22. Azure應用程序服務碼頭容器'服務不可用'
- 23. Azure應用程序服務計劃(基本小)限制?
- 24. 由桌面應用程序控制的Windows服務應用程序?
- 25. 如何將Azure服務總線中繼創建爲Windows服務? (未作爲控制檯應用程序)
- 26. 使用Azure的'/'應用程序中的服務器錯誤
- 27. 使用Sql Azure在Azure應用程序服務上進行TransactionScope
- 28. 在服務結構中承載控制檯應用程序
- 29. 計劃任務:服務/ DLL /控制檯應用程序
- 30. 如何在Azure應用程序服務上部署Windows服務
基本上,我想要動態地控制應與應用程序,如一個運行時參數的程序的東西被部署該服務。 – cherry
我建議您通過點擊底部的編輯 –