Skip to content

Latest commit

 

History

History
16 lines (16 loc) · 1.62 KB

File metadata and controls

16 lines (16 loc) · 1.62 KB

API設計

APIサービスにおいて

  • APIGW+Lambda
    • この企業の事例だと、AppSyncは便利だが技術的負債が溜まりやすく結局APIGW+Lambdaに移行している
      • AppSyncではテストコード・デバッグが難しかったらしくAPIGW+Lambdaではそれらが解消された、とのこと
    • また、今回の要件であるモバイルアプリ・Webとの連携においても自由度が高く、かつある程度知見が溜まっているので採用しやすい

ラムダ関数と機能の粒度

BFF的にはひとつの機能につきひとつのラムダ関数を作成する

  • BFFはZoZoTownなどバックエンドがマイクロサービス設計の企業が採用しているAPI設計手法
    • フロントエンドとバックエンドの中間に配置され双方の複雑な処理を緩和させる責務を持つアーキテクチャ設計パターン
    • ひとつのAPIに集約すると各デバイス・クライアントの対応に手間が掛かりスケールが困難
    • その為に中間処理を行うBFFを設けて、各種データの加工とデバイス・クライアントに合わせたデータの提供を行う
  • これをAWS Lambdaで実装する場合はLambda to Lambdaの構成になる
    • あとは間にAWS SQSを挟んでProducer/Consumerパターンにするか、Lambdaの機能であるEventBridgeを使うか
    • 構成が不必要に複雑化し、それに今回の要件ではそれほどの処理を中間に挟む必要もないので採用しない
  • なので、APIGW+Lambdaで良いだろう