Рейтинг:1

Как реализовать кеширование HTTP-ответов в Kubernetes?

флаг sa

Как я могу кэшировать 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)
    • => не идеально, потому что модули кеша должны масштабироваться в соответствии с модулями приложений.
  • кэширование в приложении
    • => Я бы предпочел оставить эту проблему вне приложения

Мне интересно: как люди решают эту проблему в своих кластерах?

Рейтинг:1
флаг tz

Как я могу кэшировать HTTP-ответы от своих сервисов в Kubernetes?

Вы всегда можете установить пользовательские конфигурации nginx через nginx.ingress.kubernetes.io/server-snippet аннотации.Вы можете добавить несколько proxy_cache соответствующие конфигурации, чтобы сделать это.

как я могу кэшировать статические ресурсы (статический HTML, изображения, шрифты и т. д.), не полагаясь на клиентские кэши.

Разделите ваше приложение и ваши статические ресурсы.

Храните и запускайте свое приложение в Kubernetes, а ваши статические ресурсы храните в другом месте, поддерживающем общедоступный доступ к файлам.

Затем вы можете использовать любую CDN для доставки своих статических ресурсов своим клиентам, не нагружая свои приложения Kubernetes.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.