﻿# Конфигурация HAProxy для Redis Sentinel

> [HTML Version](haproxy-redis.html)

Aрхитектура высокодоступного кластера ELMA365 подразумевает взаимодействие микросервисов приложения ELMA365 с Redis Sentinel. Для обеспечения надёжной балансировки нагрузки в системе создайте конфигурацию HAProxy для Redis Sentinel. Так, в случае технического сбоя весь трафик будет перенаправлен на основной сервер Redis (master). Это гарантирует непрерывную работу системы.

## Пример конфигурации HAProxy для подключения к Redis Sentinel

В этой статье приводится конфигурация для определения основного сервера Redis (master) и перенаправления на него трафика. Для этого используется HAProxy, с помощью которого автоматически проверяется порт \[OBJECT\] на серверах Redis, после чего определяется текущий сервер с ролью \[OBJECT\].

Чтобы создать конфигурацию HAProxy для Redis Sentinel выполните следующие действия:

1. Откройте для редактирования конфигурационный файл \[OBJECT\] с помощью команды:

````
sudo nano /etc/haproxy/haproxy.cfg

2. ````
Внесите изменения в конфигурационный файл \[OBJECT\]:

Пример конфигурации

````
\### 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). В случае сбоев это обеспечит стабильную работу системы.