マイクロサービスとSOAの違いは何ですか

目次:

Anonim

NS 主な違い マイクロサービスとSOAの間には、 マイクロサービスは、アプリケーションを個別のサービスのグループに分割する一種のSOAであり、SOAは、アプリケーションのコンポーネントがネットワークを介して他のコンポーネントにサービスを提供できるようにするソフトウェア設計スタイルです。

通常、モノリシックアプリケーションは、複数のソフトウェアコンポーネントをホストする単一のユニットです。コンポーネントを一緒にホストして配信することが可能です。モノリシックアプリケーションにはいくつかの欠点があります。さらに、プログラマーはさまざまなテクノロジーを使用してそれらを実装できます。したがって、これらのアプリケーションは柔軟性がなく、1つのコンポーネントで障害が発生するとシステム全体に影響を与える可能性があります。したがって、これにより、これらのアプリケーションの信頼性が低下します。さらに、これらのアプリケーションはスケーラブルではなく、大規模なアプリケーションの開発を困難にします。マイクロサービスとSOAは、モノリシックアーキテクチャアプリケーションの制限を克服するのに役立つ2つのアーキテクチャです。

マイクロサービス、モノリシックアプリケーション、REST API、SOA

マイクロサービスとは

マイクロサービスは、アプリケーションを一連の独立したサービスに分割し、各サービスが個別に機能するアーキテクチャスタイルです。したがって、これは分散型アーキテクチャまたはきめ細かいアーキテクチャです。

マイクロサービスには、機能サービスとインフラストラクチャサービスの2種類のサービスがあります。機能サービスは特定の機能のビジネスロジックを含むサービスであり、インフラストラクチャサービスは非ビジネスおよび非機能操作を実行するサービスです。

マイクロサービスでは、コンポーネント間の通信はAPIレイヤーを使用して行われます。言い換えれば、ミドルウェアはありません。一般に、REST APIは、コンポーネント間の通信を確立するのに役立ちます。

たとえば、ショッピングアプリケーションを想定します。ユーザーアカウント、製品カタログ、ショッピングカートは別々の機能です。各機能は個別のタスクに分割され、各タスクは個別のサービスを処理します。たとえば、ショッピングカート機能には、商品の表示や商品の更新などのタスクがあります。さらに、表示製品サービスは表示製品を処理し、更新製品サービスは更新製品サービスを処理します。つまり、各サービスは特定のタスクを実行します。

SOAとは

SOAは、アプリケーションコンポーネントを使用して他のコンポーネントにサービスを提供するソフトウェア設計のスタイルです。これらのアプリケーションコンポーネントは、通信プロトコルを使用して相互に接続します。サービスは、機能の個別の単位です。さらに、リモートでアクセスでき、個別に更新できます。

SOAのさまざまな種類のサービスは次のとおりです。

ビジネスサービス は、中核的な事業運営を行うサービスです。

エンタープライズサービス ビジネスサービスによって定義された機能を実装し、アプリケーションサービスとインフラストラクチャサービスを使用します。

アプリケーションサービス 機能のコア機能を表し、直接またはユーザーインターフェイスから呼び出すことができます。

インフラストラクチャサービス は、非ビジネスおよび非技術的な操作を処理するサービスタイプです。 (監査、セキュリティなど)

さらに、さまざまな言語とコンポーネントがコンポーネントの開発に役立ちます。 SOAには、アプリケーションのさまざまなコンポーネント間の通信を可能にするEnterprise Service Bus(ESB)などのメッセージングミドルウェアがあります。

たとえば、ショッピングアプリケーションを想定します。ユーザーアカウントアプリケーション、ショッピングカートアプリケーション、製品カタログアプリケーションなどの個別のアプリケーションがあります。各アプリケーションは、複数の小さなタスクで構成されています。さらに、それらすべてが相互に接続して単一のアプリケーションサービスを作成します。

マイクロサービスとSOAの違い

意味

マイクロサービスとは、アプリケーションを疎結合サービスのコレクションとして構造化するサービス指向アーキテクチャー(SOA)の変形であるソフトウェア開発スタイルを指します。対照的に、SOAは、ネットワークを介した通信プロトコルを介して、アプリケーションコンポーネントによって他のコンポーネントにサービスが提供されるソフトウェア設計のスタイルです。したがって、これはマイクロサービスとSOAの違いを説明しています。

アーキテクチャタイプ

さらに、マイクロサービスは粗粒度アーキテクチャまたは分散型アーキテクチャであり、SOAは細粒度アーキテクチャまたは集中型アーキテクチャです。

サービスの種類

マイクロサービスには機能サービスとインフラストラクチャサービスがありますが、SOAにはビジネス、エンタープライズ、アプリケーション、インフラストラクチャサービスがあります。したがって、これはマイクロサービスとSOAのもう1つの違いです。

コミュニケーション

また、マイクロサービスとSOAのもう1つの違いは、マイクロサービスは通信にAPIレイヤーを使用するのに対し、SOAは通信にミドルウェアを使用することです。

糸脱毛

さらに、マイクロサービスはシングルスレッドですが、SOAはマルチスレッドです。したがって、これはマイクロサービスとSOAの違いでもあります。

応用

同じリモートアクセスプロトコルを介してマイクロサービスのすべてのサービスを公開およびアクセスすることが可能ですが、SOAは、異種環境で異なるプロトコルを使用する複数のシステムを統合するのに役立ちます。

結論

マイクロサービスとSOAの主な違いは、マイクロサービスはアプリケーションを個別のサービスのグループに分割する一種のSOAであるということです。全体として、SOAは、アプリケーションコンポーネントがネットワークを介して他のコンポーネントにサービスを提供するソフトウェア設計スタイルです。簡単に言うと、マイクロサービスはSOAのバリアントまたはタイプです。

参照:

1.「マイクロサービス」。ウィキペディア、ウィキメディア財団、2019年4月25日、こちらから入手できます。 2.「サービス指向アーキテクチャ」。ウィキペディア、ウィキメディア財団、2019年4月19日、こちらから入手できます。 3.エドゥレカ! YouTube、YouTube、2018年3月12日、こちらから入手できます。

画像提供:

1. Xiaoan888による「新しいサービス」– Commons Wikimedia2を介した自作(CC BY-SA 4.0)。CommonsWikimediaを介した「SOADPイベント駆動型メッセージングB」(CC BY-SA 3.0)

マイクロサービスとSOAの違いは何ですか