Как я могу кэшировать HTTP-ответы от своих сервисов в Kubernetes?
У меня есть простая веб-служба в моем кластере, и мне интересно, как я могу кэшировать статические ресурсы (статический HTML, изображения, шрифты и т. д.), не полагаясь на клиентские кеши.
Моя установка очень проста:
— ... â––––––––––––––– âââ
...
— ingress-nginx — svc — развертывание — ingress-nginx — svc
...
- ... ... ââ
Варианты, которые я рассматривал:
- внешний CDN (например, Cloudflare)
- => исключено из-за соблюдения правил защиты данных
- CDN облачного провайдера (например, Cloudfront)
- => у нашего облачного провайдера нет такой услуги
- proxy_cache в ingress-nginx-controller и ingress
- выделенный сервис кэширования (например, Varnish) между ingress-nginx и моим сервисом
- => это хорошая идея?
- => есть ли другие «облачные» варианты, кроме настройки моего собственного развертывания Varnish?
- кеширующий прокси в сайдкаре (например, Varnish или nginx)
- => не идеально, потому что модули кеша должны масштабироваться в соответствии с модулями приложений.
- кэширование в приложении
- => Я бы предпочел оставить эту проблему вне приложения
Мне интересно: как люди решают эту проблему в своих кластерах?