API コンポジション とは
複数サービスからのデータ統合
API コンポジション
API コンポジションは、複数のサービスからデータを集約して単一のクライアントレスポンスにするマイクロサービスアーキテクチャパターンです。
動作原理
| ステップ | アクション | |----------|------------| | 1. リクエスト | クライアントがAPI Gatewayを呼び出し | | 2. 分解 | Gatewayが必要なサービスを特定 | | 3. 並列呼び出し | マイクロサービスへのリクエスト | | 4. 集約 | 結果の統合 | | 5. レスポンス | 複合レスポンスを返却 |
実装オプション
- API Gateway — 集中型集約
- BFF(Backend for Frontend) — 各クライアント用の個別レイヤー
- GraphQL — リゾルバによる柔軟な選択
- オーケストレーター — コーディネーターサービス
使用場面
- 複合ページ(ダッシュボード、プロフィール)
- 複数ソースからのレポート
- モバイルアプリ(リクエスト最小化)
- パブリックAPI(内部構造の隠蔽)
長所と短所
| 長所 | 短所 | |------|------| | クライアントリクエストの削減 | 実装の複雑さ | | ロジックのカプセル化 | 潜在的なレイテンシ | | レスポンスの柔軟性 | トランザクション管理 |