VCL を使用して Varnish で私の (おそらく奇妙な) ユース ケースを実装できるかどうか疑問に思っています。私のアプリケーションは、キャッシュ可能な API サーバーから非常に短い待ち時間 (つまり、可能であればサブミリ秒) で応答を受信することに依存しています。アプリケーションは、「空」の応答が適切に処理される (場合によっては有効な応答である) ように記述されており、API は、空でない応答が長期間有効になるように設計されています (つまり、日々)。
だから、私がやりたいのは、ワニスを次のように構成することです:
- 指定された API 呼び出しに対してキャッシュされた応答を検索 (および返す) しようとします。
- キャッシュ ミスの場合、すぐに「空」の応答を返し、バックエンドの要求をキューに入れます
- #2 でキャッシュ ミスだった URL への将来の呼び出しで、現在キャッシュされている応答を返す
VCL だけを使用して Varnish をこのように動作させることは可能ですか? そうでない場合、これを行うために VMOD を作成することは可能ですか (そうであれば、ポインター、ヒントなどを大歓迎です!)