At-least-once 配信、ack のタイミング、冪等キー — 欠落も重複も防ぐキューコンシューマの設計
キューが同じメッセージを二度以上配信しうることを前提に、成功したときだけ ack し、冪等キーで重複実行を防ぎ、再配信が尽きたときに報告する方法
Network カテゴリーの知識文書です。
キューが同じメッセージを二度以上配信しうることを前提に、成功したときだけ ack し、冪等キーで重複実行を防ぎ、再配信が尽きたときに報告する方法
遅い、または一度に一件しか処理できない外部システムの前にキューとワーカーを置き、リクエストはすぐに受け付けて処理は相手のペースで行わせるパターンと、ack・フォールバック・リトライの設計
一時的な失敗をリトライするときに、間隔を広げ(バックオフ)、ランダム性を混ぜて(ジッター)、リトライが相手を再び叩く嵐にならないようにする方法と、リトライするエラーを選ぶ基準
rewrite はリダイレクトではなくプロキシなのでアップストリームの 3xx をそのまま流す — 正規化する配信元に向けると無限ループになる理由と対処
ETag と If-None-Match で変更のないレスポンスを 304 として扱い、ダウンロードバイト数をゼロにするネゴシエーションキャッシュ。帯域だけを節約しサーバー演算は節約できない限界と cheap validator
一時署名 URL をキャッシュするとき、認証クエリだけ除去し意味クエリは維持するキー正規化ルール
サーバがユーザー提供 URL を fetch するプロキシで、スキーム・ホストの allowlist によって SSRF を防ぐ方法
バックエンドが署名した使い捨て URL でクライアントがオブジェクトストレージにバイナリを直接アップロードする方式と、その段階契約