ステートレス Web API と 2 つのパーティションを持つステートフル サービスを持つ Service Fabric アプリケーションがあります。ステートレス Web API は、Web API コントローラーを定義しServiceProxy.Create
、ステートフル サービスのリモート プロキシを取得するために使用します。リモーティング呼び出しは、メッセージを信頼できるキューに入れます。
ステートフル サービスは、X 分ごとにキューからメッセージをデキューします。
Service Fabric エクスプローラーを見ると、アプリケーションがここ数日間エラー状態になっています。詳細にドリルダウンすると、ステートフル サービスに次のエラーが表示されます。
エラー イベント: SourceId='System.FM'、Property='State'。パーティションはクォーラムを失っています。
エクスプローラを見ると、プライマリ レプリカが稼働中であることがわかります。これは単一の ActiveSecondary のように見えますが、他の 2 つのレプリカは IdleSecondary を示しており、スタンバイ / ビルド中の状態になり続けています。なぜこれが起こっているのかわかりません。
他のセカンダリが ActiveSecondary 状態にならない / このクォーラム損失を引き起こしている理由は何ですか?