なぜThrottleではなくDebounceだったのか? 700並列リクエストと戦うサーバーサイド実装のすべて

ある日突然、あるサービスに急(きゅう)なスパイクアクセスがやってきました。その数、700並列。サーバーは悲鳴をあげ、DBは沈黙しました。 高負荷対策の定石といえば、キュー (Job Queue) を思い浮かべるかもしれません。しかし、安易にジョブを Queue に入れるだけでは、結局700並列の重い処理が非同期に実行される…