Балансировка нагрузки с использованием 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
Но не все работало в моем случае.
Пожалуйста, помогите мне решить проблему. что я делаю не так в этом сценарии?
Заранее спасибо!