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

    Служба кеширования Alauda для 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)