8章マイクロフロントエンド用のバックエンドパターン

マイクロフロントエンドは、エンドツーエンドのテクノロジーの自律性を実現できるため、マイクロサービスと組み合わせた場合にのみ可能なアーキテクチャであると考えるかもしれません。また、モノリスなアーキテクチャでマイクロフロントエンドを実装することはない考えているかもしれませんし、API層がモノリスなシステムとして実装されているということは、フロントエンドのアーキテクチャもそれに合わせて同じような実装をすると思えるかもしれません。しかし、そうではありません。考慮すべきニュアンスはいくつかあり、マイクロフロントエンドはマイクロサービスやモノリスと組み合わせて使用できます。この章では、フロントエンド層とバックエンド層の間で考えられる構成の組み合わせについて説明します。特に、マイクロフロントエンドがモノリス、マイクロサービス、さらにはバックエンドフォーフロントエンド(BFF)パターンと組み合わせてどのように機能するかを分析します。また、垂直分割、クライアントサイドコンポジションでの水平分割、サーバサイドコンポジションを使用した水平分割など、さまざまなマイクロフロントエンド実装と統合するための最適なパターンについても説明します。最後に、GraphQLがAPIの単一のエントリポイントとしてマイクロフロントエンドの有効なソリューションになる方法を探ります。

8.1 APIの実装とマイクロフロントエンド

まずWebアプリケーションのさまざまAPIアプローチを定義します。よく知られ、よく使用されるパターンを図8-1に示しました。ただし、これらの実装でのみマイクロフロントエンドを採用できるという意味ではありません。BFF、APIゲートウェイ、またはサービスディクショナリパターンを学習することで、WebSocket(単一のTCPを介した双方向のコンピュータ通信プロトコル)やハイパーメディアに適切なアプローチを選択できます(RESTは、応答コンテンツのハイパーメディアリンクで使用でき、APIを使用するクライアントは、ハイパーメディアリンクをトラバースすることにより、適切なリソースに動的に移動できます)。 ...

Get マイクロフロントエンド ―マイクロサービスアーキテクチャの概念をフロントエンドに拡張し、信頼性、自律性の高いシステムを構築する now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.