как добавить кэширование к микросервисам за входным контроллером Traefik?

#kubernetes #traefik #traefik-ingress

#kubernetes #traefik #traefik-ingress

Вопрос:

Некоторое время я использовал настройку на основе Docker с перенаправлением обратного прокси-сервера nginx на настроенные микросервисы. Прямо сейчас я оцениваю переход на подход, основанный на Kubernetes, и на входном контроллере Traefik.

Входящий контроллер предоставляет все необходимые для этого функциональные возможности, за исключением одного: он не поддерживает кэширование.

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

Есть ли какой-либо способ добавить поддержку кэширования для Ingress на основе Traefik? Поскольку существует множество небольших сервисов, я бы предпочел по возможности не создавать выделенный модуль для каждого микросервиса. Кроме того, был бы оценен подход, основанный на конфигурации, если это возможно (возможно, с использованием пользовательского оператора?).

Ответ №1:

Функциональность кэширования все еще находится в списке пожеланий в проекте Traefik.
В качестве своего рода обходного пути, пожалуйста, проверьте этот сценарий, в котором NGINX ставится впереди для выполнения кэширования.
Я не вижу никаких противопоказаний для применения той же идеи перед входным контроллером Traefik.

Ответ №2:

Это корпоративная функция. Вы должны купить Traefik enterprise, чтобы получить функциональность кэширования.

Ответ №3:

Столкнулся с этим, и, хотя мы все еще тестируем его, очевидно, что кэш, наконец, реализован непосредственно в traeffik, включая выборочный для каждого пути, что было нашей главной заботой. Не уверен в ограничениях / производительности, хотя я читал, что в качестве хранилища в настоящее время доступна только память, выделенная для каждого маршрутизатора:

https://github.com/traefik/traefik/issues/878