async-processing-best-practices Webアプリケーションにおける非同期処理を実現するための実装ガイドです。 いつ利用するか 次の場合にこのガイドラインを参照してください。 - 特定の処理を非同期で実現するかどうかを設計する場合 - 非同期処理を行うインフラを選定・設計する場合 - 非同期処理が必要なバックエンド処理を実装する場合 - 非同期処理のUIをフロントエンドで実装する場合 リファレンス 非同期処理を利用するべきかどうかの判断 HTTPレスポンを返す際に処理が完了している必要がないものについては非同期処理で実現することを検討します。主に以下の観点で非同期処理の採用を考えます。 - ユーザー体験(UX) - 処理に1秒以上かかり、UIから実行する際に画面が操作不能になるケースを避けたい場合 - 外部依存 - 外部APIやサービスなど、自分たちでコントロールできないものを呼び出す際に、相手側のシステムの障害や遅延に性能低下やユーザー体験の低下が発生することが懸念される場合 - 即時性の低さ - ユーザーが処理の結果を即座に知らなくてもいい場合 - リソースの保護 - APIのコネクション数を長い処理によって占有して、接続リソースを不要に消費してしまうことが懸念される場合 非同期処理の実現手法 以下の要素から実現手法を選択します - Webアプリケー…