アーキテクチャ
API Gateway
Authority
API
Service X
API
Service Y
Google Cloud Load Balancer
Service A Service B
Google Kubernetes Engine
Service C
Web
Service Z
Cloud
Spanner
Project A
Cloud
Spanner
Cloud
Pub/Sub
Project B
Project GKE
12
4階層のアーキテクチャ
Backend
Service
API
Gateway
API
Service
Client
Client アプリ、加盟店等のパートナー様
API Gateway 全てのリクエストがAPI Gatewayを通る
共通処理とルーティング
API Service クライアントからのリクエストとレスポンスの責任を持つ
裏側にある複数のマイクロサービスのアグリゲーション
Backend Service 機能のロジックを実現する
14
Slide 15
Slide 15 text
API Gateway
Backend
Service
API
Gateway
API
Service
Client
インターネットからのリクエストを安全に内部に届ける
● TLS終端 + DDoS対策 (CDN, Google Cloud Load Balancing)
● Request/Response buffering + Timeout
● AuthN/AuthZ (認証認可プラットフォーム)
● アクセスログ (データプラットフォーム)
Why
● 外部からのアクセスが最も重要
● 適切に扱うのが難しいため共通で処理
15
Slide 16
Slide 16 text
API Service
Backend
Service
API
Gateway
API
Service
Client
クライアントとのメッセージに責任を持つ
● リクエストバリデーション
● バックエンドマイクロサービスのアグリゲーション
● クライアントの互換性、ABテスト
● 必要十分なレスポンス
Why
● 外部からのアクセスが最も重要
● 適切に扱うのが難しいため共通で処理
16
Slide 17
Slide 17 text
Backend Service
Backend
Service
API
Gateway
API
Service
Client
担当ドメインに特化した機能の提供
● クライアント(リクエスト元)のコンテキストに依存しない機能
● 内部の実装のみを意識する
● リクエストの認可はクライアントのコンテキストに応じて行う
Why
● 開発をドメインで閉じて行えるように
17