ELMA365 On-Premises > Подготовка инфраструктуры > Балансировщик нагрузки / Конфигурация HAProxy для PostgreSQL

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

Архитектура высокодоступного кластера ELMA365 подразумевает взаимодействие микросервисов приложения ELMA365 с кластером базы данных PostgreSQL. Чтобы обеспечить надёжную балансировку нагрузки в системе, создайте конфигурацию HAProxy для PostgreSQL. Так, в случае сбоя весь трафик будет перенаправлен в кластер Master-Replica(s), что гарантирует непрерывную работу системы.

Примеры настройки HAProxy:

  1. Пример конфигураци HAProxy для подключения к PostgreSQL.
  2. Пример конфигураци HAProxy для подключения к PGBouncer.

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

В этой статье конфигурация подготовлена для балансировки трафика в кластер PostgreSQL, развёрнутый согласно описанию из статьи «Кластер PostgreSQL». Для балансировки используется HAProxy. С его помощью автоматически проверяется порт 8008 сервиса Patroni на серверах PostgreSQL с ролью master.

Трафик операций в кластер распределяется следующим образом:

  • операции записи, приходящие на haproxy-server.your_domain:5000, направляются на сервер с ролью master;
  • операции чтения, приходящие на haproxy-server.your_domain:5001, направляются на сервера с ролью slave.

В случае сбоя весь трафик будет перенаправлен в кластер Master-Replica(s), т. е. операции записи и чтения начнут поступать именно сюда.

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

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

sudo nano /etc/haproxy/haproxy.cfg

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

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

Пример конфигурации HAProxy с использованием SSL

  1. Перезапустите HAProxy для применения изменений:

sudo systemctl restart haproxy

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

В этой статье представлена конфигурация для балансировки трафика в кластер PostgreSQL, развёрнутый согласно описанию из статьи «Кластер PostgreSQL», через программу PGBouncer. Для балансировки используется HAProxy. С его помощью автоматически проверяется порт 8008 сервиса Patroni на серверах PostgreSQL с ролью master.

Трафик операций в кластер распределяется следующим образом:

  • операции записи, приходящие на haproxy-server.your_domain:5000, направляются на сервер с ролью master;
  • операции чтения, приходящие на haproxy-server.your_domain:5001, направляются на сервера с ролью slave.

В случае сбоя весь трафик будет перенаправлен в кластер Master-Replica(s), т. е. операции записи и чтения начнут поступать именно сюда.

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

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

sudo nano /etc/haproxy/haproxy.cfg

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

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

Пример конфигурации HAProxy с использованием SSL

  1. Перезапустите HAProxy для применения изменений:

sudo systemctl restart haproxy