Балансировка нагрузки с использованием HAProxy для Postgresql 9.4

Я сделал настройку репликации нескольких мастеров PostgreSQL с использованием BDR (двунаправленная репликация) среди 4 узлов (виртуальных машин).

Теперь я хочу поставить балансировщик нагрузки для высокой доступности. Для этого я установил и настроил «HAProxy» на другой виртуальной машине, которая прослушивает 5432 / TCP для подключения. Конфигурация haproxy выглядит следующим образом:

listen pgsql_bdr *:5432
    mode tcp
    option  httpchk
    balance roundrobin
    server master 192.168.123.1:5432 check backup
    server slave1 192.168.123.2:5432 check
    server slave2 192.168.123.3:5432 check
    server slave3 192.168.123.4:5432 check

IP-адрес сервера HAProxy: 192.168.123.5

Я использовал IP-адрес сервера HAproxy в своем приложении для соединения с базой данных (который должен перенаправить соединение на реальные серверы базы данных). Но в то время я получаю следующую ошибку:

Ошибка подключения к серверу: сервер неожиданно закрыл соединение. Это, вероятно, означает, что сервер аварийно завершил работу до или во время обработки запроса.

И обратите внимание, что я попытался решить проблему, используя 2 способа. Во-первых, я отключил брандмауэр на всех серверах (HAProxy и всех серверах Postgres), а также я пытаюсь заменить конфигурацию следующим:

listen pgsql_bdr 0.0.0.0:5432

или же

listen pgsql_bdr 127.0.0.1:5432

или же

listen pgsql_bdr localhost:5432

Но не все работало в моем случае.

Пожалуйста, помогите мне решить проблему. что я делаю не так в этом сценарии?

Заранее спасибо!

Ответы на вопрос(2)

Ваш ответ на вопрос