アーキテクチャ (IT)DevOps / アーキテクト

API Gatewayの目的と現代アーキテクチャにおける動作原理について説明してください。

Hintsage AIアシスタントで面接を突破

回答。

API Gateway はクライアントと内部マイクロサービスの間の仲介サービスです。呼び出しを集約し、ルーティング、認証を管理し、セキュリティポリシーや制限を適用し、リクエストを変換し、プロキシします。

API Gatewayは、外部の世界からサービスの内部構造を隠し、相互作用を統一するために必要です。これにより、結合度を下げ、フロントエンドの開発を加速し、アクセスとログの中央管理を提供します。

nginxを使用した単純なAPI Gatewayの設定例:

server { listen 80; location /user/ { proxy_pass http://localhost:8081/; } location /order/ { proxy_pass http://localhost:8082/; } }

主な特徴:

  • 中央集中的な認証、モニタリング、ログ記録
  • クライアントを変更することなく新しいサービスを追加できる
  • APIのルーティングとバージョン管理を柔軟に管理

トリッキーな質問。

1つのサービスがAPI Gatewayを経由せずに別のサービスにアクセスできますか?

内部サービスはプライベートなシナリオのために直接呼び出しを使用できますが、外部クライアントにとってはAPI Gatewayが主要なアクセス手段です。

API Gatewayは単一障害点ですか?

はい、クラスタリングと負荷分散が設定されていない場合はそうなります。複数のインスタンスを起動し、負荷分散装置を使用することが重要です。

API Gatewayは応答をキャッシュできますか?

はい、高度なゲートウェイはGETリクエストをキャッシュすることができ、サービスへの負荷を軽減し、データの応答を迅速化します。Kongでのキャッシュ設定の例:

plugins: - name: proxy-cache config: strategy: memory content_type: [application/json] cache_ttl: 300