2017-04-16 125 views
1

有沒有辦法找出在任何給定時間通過代碼在結構服務集羣中運行的servicetype實例的數量?一種方法是查看ApplicationManifest文件並獲取設置的實例數量,但有時可能會被參數文件覆蓋。這裏的任何想法?Azure結構服務中的服務實例數

回答

1

如果您想以編程方式檢查您的服務,請查看FabricClient,其中顯示了一些可以顯示狀態部署服務的操作。對於你的具體問題,得到運行實例的數量,看看FabricClient.QueryClient.GetReplicaList...(...),它會給你一個副本列表(在無狀態服務的情況下,這將與實例相同)。

+0

謝謝,這很有幫助。你知道我在哪裏可以找到該函數的partitionId guid?我的意思是 - 我創建了一個分區,但我只有lowkey,highkey - 但沒有任何名稱爲partitionId。 – ashok

+1

您可以使用[FabricClient.QueryClient.GetPartitionList ...(...)]枚舉StatefulService的所有分區(https://docs.microsoft.com/en-us/dotnet/api/system.fabric.fabricclient .queryclient.getpartitionlistasync?視圖= servicefabric-5.5.216#System_Fabric_FabricClient_QueryClient_GetPartitionListAsync_System_Uri_)。這會給你分區的實際ID(GUID)。對於有狀態服務,您有* no實例=分區x副本*,對於無狀態,大多數情況下只有一個分區(Singleton)。 – yoape

+0

謝謝。我做的。我希望有更好的解決方案。將使用此。謝謝! – ashok