Перейти к содержанию

Конфигурация HAProxy для Redis Sentinel

Для обеспечения надёжной балансировки нагрузки в системе создайте конфигурацию HAProxy для Redis Sentinel. Так, в случае технического сбоя весь трафик будет перенаправлен на основной сервер Redis (master). Это гарантирует непрерывную работу системы.

Пример конфигурации HAProxy для подключения к Redis Sentinel

В этой статье приводится конфигурация для определения основного сервера Redis (master) и перенаправления на него трафика. Для этого используется HAProxy, с помощью которого автоматически проверяется порт 6379 на серверах Redis, после чего определяется текущий сервер с ролью master.

Чтобы создать конфигурацию HAProxy для Redis Sentinel выполните следующие действия:

  1. Откройте для редактирования конфигурационный файл haproxy.cfg с помощью команды:

    sudo nano /etc/haproxy/haproxy.cfg
    
  2. Внесите изменения в конфигурационный файл haproxy.cfg:

    Пример конфигурации:

    ### Redis ###
    frontend redis_master
    bind haproxy-server.your_domain:6379
    mode tcp
    option tcplog
    option clitcpka
    timeout client 24h
    default_backend redis_master
    
    backend redis_master
    balance first
    mode tcp
    timeout queue 2s
    timeout connect 2s
    timeout check 1s
    option srvtcpka
    timeout server 24h
    option tcp-check
    tcp-check connect
    tcp-check send AUTH\ <PASSWORD>\r\n
    tcp-check send PING\r\n
    tcp-check expect string +PONG
    tcp-check send info\ replication\r\n
    tcp-check expect string role:master
    tcp-check send QUIT\r\n
    tcp-check expect string +OK
    server redis-server1 redis-server1.your_domain:6379 check inter 5s
    server redis-server2 redis-server2.your_domain:6379 check inter 5s
    server redis-server3 redis-server3.your_domain:6379 check inter 5s
    ### Redis ###
    
  3. Перезапустите HAProxy для применения изменений:

    sudo systemctl restart haproxy
    

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