Open yamasaki-naomi opened 8 years ago
API Forwarding Gateway
信頼性デザインパターン?
シーズナリティ性のある業種のシステムなど、ピーク時のアクセス数が読めないシステムがオンプレ環境で稼働しており、そのAPIを外部に公開する場合、あらかじめピーク時のアクセス数に耐えられるだけのリソースを用意しておくには以下のデメリットが考えられます。
セールやキャンペーン等の日程や時間が決まっているもので、あらかじめアクセス増が予測される場合においては直前にスケールアウトしておく事も考えられますが、その予測を超えた瞬間的なアクセス増には耐えられない場合もあります。 また、アクセス増のタイミングが予測できないシステムにおいても同様となります。
画像を貼ったら良いでしょうか・・?
デザインパターンの内容、ですが、
https://cacoo.com/lang/ja/
を利用するのはいかがでしょうか。(Flashが必要となるのが難点ですが...)
パターン名
API Forwarding Gateway
分類
信頼性デザインパターン?
解決したい課題
シーズナリティ性のある業種のシステムなど、ピーク時のアクセス数が読めないシステムがオンプレ環境で稼働しており、そのAPIを外部に公開する場合、あらかじめピーク時のアクセス数に耐えられるだけのリソースを用意しておくには以下のデメリットが考えられます。
セールやキャンペーン等の日程や時間が決まっているもので、あらかじめアクセス増が予測される場合においては直前にスケールアウトしておく事も考えられますが、その予測を超えた瞬間的なアクセス増には耐えられない場合もあります。 また、アクセス増のタイミングが予測できないシステムにおいても同様となります。
解決のための要素や手段
ピーク時におけるAPサーバの負荷軽減を想定した際にスケールアウトとは別に、API Gatewayを使用することによってスロットリングによるトラフィックの管理やAPI呼び出しに対する出力のキャッシュを図ります。 また、APIキー認証を利用し特定のアクセス元からのみに制限することにより、不正なAPIコールのブロックやマネタイズを図ります。 APIコール先のシステムが複数あり、それぞれが返してくるデータ形式が違う場合にはモデルとマッピングテンプレートを使用することによって、結果のデータ形式を例えばJSONに統一するなどといった標準化もできます。
デザインパターンの内容
画像を貼ったら良いでしょうか・・?
利点 (メリット)
注意点 (デメリット)
備考
このデザインパターンの課題、発展について