次の方法で共有


回復性のあるアプリケーションを実装する

ヒント

このコンテンツは、.NET Docs で入手できる、またはオフラインで読み取ることができる無料のダウンロード可能な PDF として入手できる、コンテナー化された .NET アプリケーションの電子ブックである .NET マイクロサービス アーキテクチャからの抜粋です。

コンテナー化された .NET アプリケーションの .NET マイクロサービス アーキテクチャの電子ブックの表紙サムネイル。

マイクロサービスとクラウドベースのアプリケーションは、最終的に確実に発生する部分的な障害を受け入れる必要があります。 これらの部分的な障害に対する回復性を備えるアプリケーションを設計する必要があります。

回復性は、障害から回復して、機能を継続する能力です。 障害を回避するのではなく、障害が発生するという事実を受け入れ、ダウンタイムやデータ損失を回避する方法で対応することです。 回復性の目標は、障害が発生した後、アプリケーションを完全に機能する状態に戻することです。

マイクロサービス ベースのアプリケーションを設計してデプロイするのは困難です。 ただし、何らかの障害が確実な環境でアプリケーションを実行し続ける必要もあります。 そのため、アプリケーションには回復性が必要です。 これは、ネットワークの停止やノード、クラウドでクラッシュする VM など、部分的な障害に対処するように設計する必要があります。 マイクロサービス (コンテナー) がクラスター内の別のノードに移動されても、アプリケーション内で断続的な短いエラーが発生する可能性があります。

アプリケーションの多数の個々のコンポーネントにも、正常性監視機能を組み込む必要があります。 この章のガイドラインに従うことで、一時的なダウンタイムや、複雑でクラウドベースのデプロイにおける一般的な不具合にもかかわらず、スムーズに動作するアプリケーションを作成できます。

Von Bedeutung

eShopOnContainer は 、Polly ライブラリ を使用して、リリース 3.0.0 まで 型指定されたクライアント を使用して回復性を実装していました。 リリース 3.0.0 以降では、HTTP 呼び出しの回復性は Linkerd メッシュを使用して実装されます。これは、コード内でこれらの懸念事項を処理することなく、Kubernetes クラスター内で透過的で構成可能な方法で再試行を処理します。

Polly ライブラリは、サービスの起動時に特にデータベース接続に回復性を追加するために引き続き使用されます。

Warnung

このセクションのすべてのコード サンプルとイメージは Linkerd を使用する前に有効であり、現在の実際のコードを反映するように更新されません。 そのため、このセクションのコンテキストでは意味があります。