IT заметки по программированию
IT заметки по программированию
IT заметки по программированию
IT заметки по программированию

В конфиге HAProxy указаны только IP-адреса и порты Sentinel, а не самого Redis-мастера, куда отправляется запрос?

Действительно, в конфигурации HAProxy указаны только IP-адреса и порты Sentinel, а не самого Redis-мастера. Вот как это работает:

  1. HAProxy через Sentinel: Изначально HAProxy подключается к Sentinel по IP и порту 26379 для того, чтобы запросить у него информацию о текущем мастере Redis. Sentinel знает, какой сервер Redis в данный момент является мастером и вернет его IP-адрес и порт.
  2. Перенаправление трафика на мастера: После получения информации о мастере HAProxy направляет все запросы уже непосредственно на Redis-мастер по его IP и порту, который HAProxy узнал от Sentinel.

Вот ключевой момент: Sentinel выступает в роли посредника, который сообщает HAProxy, куда направлять трафик. HAProxy сам по себе не знает, какой из серверов является мастером, пока не получит эту информацию через команды, описанные ранее в конфигурации (через tcp-check и Sentinel).

Таким образом, фактический трафик к Redis идет на IP и порт мастера, но они динамически определяются через Sentinel.

Если нужно подробнее рассмотреть, как это настроить и протестировать, могу предложить примеры плейбуков Ansible для этой задачи!

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *