#node.js #docker #express #kubernetes
#node.js #docker #экспресс #kubernetes
Вопрос:
У меня есть приложение NodeJS, развернутое как контейнер docker, и я использую Kubernetes для оркестровки. Балансировка нагрузки выполняется Kubernetes по умолчанию.
Я хочу реализовать кэширование для приложения.
Мой вопрос: можно ли настроить прокси-сервер балансировки нагрузки Kubernetes для обработки кэширования?
PS: Если нет, то, пожалуйста, предложите, как лучше всего обрабатывать кэширование в среде Kubernetes-Docker.
Спасибо
Ответ №1:
Прокси не используется для кэширования веб-страниц, для кэширования веб-контента используется кэш-сервер (Redis Memcached). Задача прокси-сервера — перенаправлять запросы, а у LoadBalancer есть алгоритмы, которым он следует для маршрутизации трафика, например, RoundRobin и т. Д.
Для этого вам необходимо добавить сервер кэша в свой стек приложений в виде развертывания с сохраняемым хранилищем (в зависимости от ваших потребностей).
Комментарии:
1. Helm может значительно упростить это для вас. Вы можете быстро просмотреть эту диаграмму для Redis и посмотреть здесь для Memached.
2. здесь говорится об использовании обратного прокси для кэширования, а также балансировки нагрузки (последний абзац) ….. expressjs.com/en/advanced /…
3. Балансировка нагрузки собственного сервисного объекта Kubernetes не поддерживает кэширование и т. Д. Точно так же, как обратные прокси с открытым исходным кодом, такие как Nginx или HAProxy. Вы можете использовать безголовый сервис (пример nginx (здесь ) [ nginx.com/blog/load-balancing-kubernetes-services-nginx-plus /] ) для этого. Это позволит обойти DNS-сервер kube-proxy, подключенный к сервису.
4. Итак, есть два решения для кэширования в Docker-Настройка Kubernetes: либо использовать сервер кэширования, либо использовать Nginx, который может обрабатывать оба (кэширование, а также балансировку нагрузки)??
5. В зависимости от потребностей бизнеса, какой тип кэширования требуется. Если вам нужно кэширование сеанса или запросов к базе данных, например, в случае wordpress magento, Redis может звучать неплохо. Если вам нужен минимальный полностраничный кэш и т. Д., Вам могут подойти такие сервисы, как FastCGI cache.