第3章. コネクティビティとコンポジション・パターン
この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com
クラウド・ネイティブ・アプリケーションは本質的に、サービス間通信を介して接続されたマイクロサービスの分散コレクションである。実際のクラウド・ネイティブ・アプリケーションを作成する際には、サービス間の接続性を確立し、複数のサービスを統合してビジネス機能を作成し、これらの接続されたサービスを管理された機能として提示することが重要である。
この章では、クラウド・ネイティブ・アプリケーションにおいてマイクロサービス間(および他の既存システム間)の接続性を構築するために使用できる幅広いパターンを検討する。また、サービスを統合するためにサービスコンポジションパターンを使用してビジネス機能を作成することも検討する。クラウド・ネイティブ・アプリケーションを構築するための接続パターンから話を始めよう。
コネクティビティ・パターン
ネイティブ接続パターンでは、マイクロサービス間の接続だけでなく、クラウド ネイティブ アプリケーション内の他のシステムとの接続も構築できる。第1章で説明したように、クラウドネイティブアプリケーションではマイクロサービスで構成され、既存の独自システムやレガシーシステム、SaaS(Software-as-a-Service)アプリケーションなどの外部サービス、データベース、メッセージブローカーなどのメッセージングインフラなどとも接続することができる。
注
第2章では、主にクラウド・ネイティブ・アプリケーションのマイクロサービス間の通信がどのように行われるかについて説明した。本セクションでは、これらのサービスを接続するために使用できるスタイルに主眼を置く。ここでは、クラウド・ネイティブ・アプリケーションを構築する際にマイクロサービスを接続するために、基本的な通信パターンとその他のサポートするテクノロジーを使用する。
クラウドネイティブ・アプリケーションのビジネス機能に関連する接続要件に加えて、セキュリティ、可観測性、信頼性、ロードバランサなどの非機能要件の接続も考慮する必要があるかもしれない。このため、クラウド・ネイティブ・アプリケーションのマイクロサービスでは、ID管理サービスや可観測性ツールなどの他のシステムと接続する必要がある。そのため、クラウド・ネイティブ・アプリケーションを構築する際には、これらすべてのサービスやシステムをシームレスかつ効率的に接続する能力を持つことが重要になる。このセクションでは、マイクロサービスと他のシステムとの接続を構築する際に役立つ主なパターンを探る。
サービス接続パターン
Service Connectivityパターンは、クラウド・ネイティブ・アプリケーションの構築に使用できる高レベルの複合パターンである。このパターンは、マイクロサービスと既存のシステムを接続することでクラウドネイティブアプリケーションがどのように形成され、これらのサービスがアプリケーションのコンシューマとどのようにインタフェースするかを説明する。
仕組み
Service Connectivityパターンは、マイクロサービス、外部システム、コンシューマに公開されるAPIなど、異なるコンポーネントを接続する汎用的な方法を提供する。このパターンは、同期通信や非同期通信などの1つ以上の基本的な通信パターンを使用して、クラウドネイティブアプリケーションの接続性を確立する。このパターンは、クラウド・ネイティブ・アプリケーションのビジネス機能のバックエンド実装に適用される。フロントエンドとバックエンドの接続に関連するパターンについては、この章の後半で説明する。 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access