2017-04-16 4 views
1

ファブリックサービスクラスターで実行中のサービスタイプのインスタンスの数を、コードを使用して特定する方法はありますか? 1つの方法は、ApplicationManifestファイルを見て、そこに設定されているインスタンスの数を取得することですが、パラメータファイルによって時々上書きされる可能性があります。ここにどんなアイデア?Azureファブリックサービスのサービスインスタンス数

答えて

1

サービスを計画的に調べる場合は、FabricClientを参照すると、ステータス展開サービスを表示できる操作が多数表示されます。あなたの特定の質問については、実行中のインスタンスの数を取得し、FabricClient.QueryClient.GetReplicaList...(...)を見て、レプリカのリストを返します(StatelessServicesの場合はインスタンスと同じです)。

+0

ありがとう、これは役に立ちます。あなたはその機能のためのpartitionId guidがどこにあるのか知っていますか?つまり、私はパーティションを作成しましたが、私はlowkey、highkeyしか持っていませんが、partitionIdというものはありません。 – ashok

+1

[FabricClient.QueryClient.GetPartitionList(...)](https://docs.microsoft.com/en-us/dotnet/api/system.fabric.fabricclient)を使用して、StatefulServiceのすべてのパーティションを列挙できます.queryclient.getpartitionlistasync?view = servicefabric-5.5.216#System_Fabric_FabricClient_QueryClient_GetPartitionListAsync_System_Uri_)。これにより、パーティションの実際のID(guid)が得られます。ステートフルサービスの場合は、インスタンス=パーティションxレプリカ*がありません。ステートレスの場合はほとんどの場合、1つのパーティション(シングルトン)しかありません。 – yoape

+0

ありがとうございます。やったよ。私はもっ​​と良い解決策を望んでいました。これを使用します。ありがとう! – ashok

関連する問題