2017-04-16 79 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