次の方法で共有


サービス指向アーキテクチャ

ヒント

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

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

サービス指向アーキテクチャ (SOA) は使い過ぎの用語であり、さまざまな人に異なる意味を持っていました。 ただし、共通の分母として SOA は、サブシステムや階層などの異なる種類として分類できる複数のサービス (最も一般的には HTTP サービス) にアプリケーションを分解してアプリケーションを構成することを意味します。

すべての依存関係がコンテナー イメージに含まれているため、これらのサービスを Docker コンテナーとしてデプロイできるようになりました。これにより、デプロイの問題が解決されます。 ただし、SOA アプリケーションをスケールアップする必要がある場合は、単一の Docker ホストに基づいてデプロイする場合、スケーラビリティと可用性の問題が発生する可能性があります。 これは、マイクロサービスのデプロイ アプローチについて説明する後のセクションで説明するように、Docker クラスタリング ソフトウェアまたはオーケストレーターが役立つ場所です。

Docker コンテナーは、従来のサービス指向アーキテクチャとより高度なマイクロサービス アーキテクチャの両方に役立ちます (必須ではありません)。

マイクロサービスは SOA から派生しますが、SOA はマイクロサービス アーキテクチャとは異なります。 大規模な中央ブローカー、組織レベルの中央オーケストレーター、 Enterprise Service Bus (ESB) などの機能は、SOA では一般的です。 ただし、ほとんどの場合、これらはマイクロサービス コミュニティのアンチパターンです。 実際、"マイクロサービス アーキテクチャは SOA が正しく行われています" と主張する人もいます。

SOA アプローチはマイクロサービス アーキテクチャで使用される要件や手法よりも規範的ではないため、このガイドではマイクロサービスに焦点を当てています。 マイクロサービス ベースのアプリケーションを構築する方法がわかっている場合は、より単純なサービス指向アプリケーションを構築する方法も知っている必要があります。