nginx のリバースプロキシに対するキャッシュって

1. /foo にリクエストが来たのでリバースプロキシにリクエストを飛ばす
2. 1のレスポンスが返ってくる前に /foo に新たなリクエストが来た

ときって、2はプロキシ先にリクエスト飛ばすの? それとも1を待ってキャッシュを返すの?

これ前者の挙動をするなら、同時アクセスが予想される重い処理に対してうまく働かないので、アプリ側でなんとかする必要が出てくるので、重要な問題

フォロー

@azyobuzin

proxy_cache_lock、proxy_cache_lock_timeout、proxy_cache_use_stale のディレクティブを正しく設定すると、最初のリクエストだけをオリジンにリクエストして、2リクエスト目以降を待たせるとこができます。(複数のリクエストを1つに束ねる)

· · Tootle for Mastodon · 1 · 1 · 1
ログインして会話に参加
isidai OStatus

Mastodon は、オープンなウェブプロトコルを採用した、自由でオープンソースなソーシャルネットワークです。電子メールのような分散型の仕組みを採っています。