ユーザーとグループをサポートするAPIゲートウェイ風のサーバーに取り組んでいます。
次のような API エンドポイントがあります。
/authorization/users/1?resource=users
基本的に、「このユーザー 1 は 'ユーザー' にアクセスできますか?」と尋ねています。
「/authorization/users/1?resource=users」を Varnish にキャッシュしたいと考えています。
権限は、ユーザー レベルまたはグループ レベルで設定できます。各ユーザーは、少なくとも 1 つのグループに属しています。
PURGE リクエストを 1 つの URL に送信するだけでよいため、ユーザー レベルのキャッシュの無効化は簡単です。
グループに関しては、複雑です。グループには 50000 人を超えるユーザーを含めることができます。それらのユーザーを無効にするにはどうすればよいですか?
https://www.varnish-software.com/blog/advanced-cache-invalidation-strategiesを見ると、 X-Article-IDを使用するのが良い解決策かもしれません。私の懸念は、..オブジェクトの数が多い場合にどのように機能するかということです。巨大なCPU使用率が発生しますか? 50000 個のオブジェクトをどのくらいの速さで処理できますか?
より良い方法はありますか?