Для обеспечения надежной балансировки нагрузки в системе создайте конфигурацию HAProxy для Redis Sentinel. Так, в случае технического сбоя весь трафик будет перенаправлен на основной сервер Redis (master). Это гарантирует непрерывную работу системы.
В этой статье приводится конфигурация для определения основного сервера Redis (master) и перенаправления на него трафика. Для этого используется HAProxy, с помощью которого автоматически проверяется порт 6379 на серверах Redis, после чего определяется текущий сервер с ролью master.
Чтобы создать конфигурацию HAProxy для Redis Sentinel выполните следующие действия:
-
Откройте для редактирования конфигурационный файл
haproxy.cfgс помощью команды:sudo nano /etc/haproxy/haproxy.cfg -
Внесите изменения в конфигурационный файл
haproxy.cfg:Пример конфигурации:
### Redis ###frontend redis_masterbind haproxy-server.your_domain:6379mode tcpoption tcplogoption clitcpkatimeout client 24hdefault_backend redis_masterbackend redis_masterbalance firstmode tcptimeout queue 2stimeout connect 2stimeout check 1soption srvtcpkatimeout server 24hoption tcp-checktcp-check connecttcp-check send AUTH\ <PASSWORD>\r\ntcp-check send PING\r\ntcp-check expect string +PONGtcp-check send info\ replication\r\ntcp-check expect string role:mastertcp-check send QUIT\r\ntcp-check expect string +OKserver redis-server1 redis-server1.your_domain:6379 check inter 5sserver redis-server2 redis-server2.your_domain:6379 check inter 5sserver redis-server3 redis-server3.your_domain:6379 check inter 5s### Redis ### -
Перезапустите HAProxy для применения изменений:
sudo systemctl restart haproxy
После завершения настроек с помощью HAProxy трафик будет переходить на основной сервер Redis (master). В случае сбоев это обеспечит стабильную работу системы.
Технический писатель: Белова Ирина