Google Cloud Platform Blog に投稿された「自業自得の DDoS 攻撃から身を守るには : CRE が現場で学んだこと」が興味深く示唆に富む内容でした。
アプリケーションサーバーとアプリ間の通信の負荷分散と、接続エラー時のリトライ処理間隔をどのように設計すべきかというお話です。
- リトライ感覚を指数的に増やす:1分、2分、4分、16分
- ジッターを追加する:リトライ間隔をばらすために1分(20%)のランダム秒を追加する
- リトライ回数で優先順位をつける
- リトライと通常接続を分けて処理する。通常処理90%、リトライ10%などで正常性復帰を優先する