• Русский
  • Методы доступа

    Alauda Cache Service для Redis OSS предоставляет несколько стратегий подключения для приложений, чтобы получить доступ к экземплярам Redis. В этом разделе описывается, как получить соответствующие адреса подключения и установить соединения с экземплярами Redis в режимах Sentinel и Cluster.

    Как получить адреса доступа

    Экземпляры Redis поддерживают различные методы доступа, предназначенные для разных сценариев развертывания. Эти методы доступа соответствуют стандартным протоколам подключения Redis. Для получения подробной информации обратитесь к официальной документации Redis:

    Внутренние адреса доступа к кластеру

    Внутренний доступ к кластеру обеспечивает подключение внутри сетевой среды Kubernetes. Доступны два варианта подключения:

    1. Внутренний маршрутизируемый DNS: использует механизмы обнаружения сервисов Kubernetes
    2. Внутренний маршрутизируемый IP: использует прямое IP-адресацию

    Оба метода поддерживают подключение к экземплярам Redis, настроенным в режиме Cluster или Sentinel.

    Чтобы получить внутренние адреса доступа: перейдите в Детали экземпляра > Метод доступа > Доступ внутри кластера

    Внешние адреса доступа к кластеру

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

    Поддерживаются два метода внешнего доступа:

    • NodePort: открывает Redis на статических портах на каждом узле Kubernetes
    • LoadBalancer: выделяет внешний балансировщик нагрузки для маршрутизации трафика к экземплярам Redis

    Чтобы получить внешние адреса доступа: перейдите в Детали экземпляра > Метод доступа > Доступ из вне кластера

    Особенности доступа через NodePort

    При использовании доступа NodePort из внешних сетей убедитесь, что ваш сетевой файрвол разрешает трафик к соответствующим IP-адресам и диапазонам портов NodePort. Из-за архитектурных ограничений протоколов Redis Sentinel и Cluster требуется прямое сетевое соединение между клиентскими приложениями и конечными точками NodePort. Проксирование подключений NodePort через дополнительный балансировщик нагрузки не поддерживается.

    В средах с несколькими сетевыми интерфейсами Redis Sentinel и Cluster инициализируют адреса узлов, используя сетевой интерфейс по умолчанию каждого узла. Поэтому доступ к Redis через неиспользуемые по умолчанию сетевые интерфейсы в сочетании с открытыми портами не поддерживается. Для развертываний с несколькими сетевыми интерфейсами рекомендуется использовать метод доступа LoadBalancer.

    Методы подключения

    В следующих разделах описывается, как устанавливать подключения к экземплярам Redis в зависимости от их архитектуры.

    Режим Sentinel

    В развертываниях в режиме Sentinel все экземпляры sentinel регистрируют группу мастер-реплика Redis под фиксированным именем mymaster. Клиентские приложения должны использовать это имя при подключении через протокол Sentinel.

    Для подробных примеров подключения с популярными клиентскими библиотеками смотрите Доступ к экземплярам (режим Sentinel)

    Режим Cluster

    В развертываниях в режиме Cluster клиентские приложения изначально подключаются к любому узлу кластера для получения информации о топологии кластера (распределении слотов). При последующих операциях клиенты должны поддерживать прямые подключения к соответствующим подам Redis на основе отображения ключей в слоты.

    Для обеспечения максимальной надежности клиентские приложения должны инициализировать подключения, используя адреса всех узлов кластера.

    Для подробных примеров подключения с популярными клиентскими библиотеками смотрите Доступ к экземплярам (режим Cluster)