8章マイクロフロントエンド用のバックエンドパターン
マイクロフロントエンドは、エンドツーエンドのテクノロジーの自律性を実現できるため、マイクロサービスと組み合わせた場合にのみ可能なアーキテクチャであると考えるかもしれません。また、モノリスなアーキテクチャでマイクロフロントエンドを実装することはない考えているかもしれませんし、API層がモノリスなシステムとして実装されているということは、フロントエンドのアーキテクチャもそれに合わせて同じような実装をすると思えるかもしれません。しかし、そうではありません。考慮すべきニュアンスはいくつかあり、マイクロフロントエンドはマイクロサービスやモノリスと組み合わせて使用できます。この章では、フロントエンド層とバックエンド層の間で考えられる構成の組み合わせについて説明します。特に、マイクロフロントエンドがモノリス、マイクロサービス、さらにはバックエンドフォーフロントエンド(BFF)パターンと組み合わせてどのように機能するかを分析します。また、垂直分割、クライアントサイドコンポジションでの水平分割、サーバサイドコンポジションを使用した水平分割など、さまざまなマイクロフロントエンド実装と統合するための最適なパターンについても説明します。最後に、GraphQLがAPIの単一のエントリポイントとしてマイクロフロントエンドの有効なソリューションになる方法を探ります。
8.1 APIの実装とマイクロフロントエンド
まずWebアプリケーションのさまざまAPIアプローチを定義します。よく知られ、よく使用されるパターンを図8-1に示しました。ただし、これらの実装でのみマイクロフロントエンドを採用できるという意味ではありません。BFF、APIゲートウェイ、またはサービスディクショナリパターンを学習することで、WebSocket(単一のTCPを介した双方向のコンピュータ通信プロトコル)やハイパーメディアに適切なアプローチを選択できます(RESTは、応答コンテンツのハイパーメディアリンクで使用でき、APIを使用するクライアントは、ハイパーメディアリンクをトラバースすることにより、適切なリソースに動的に移動できます)。 ...
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