Pull to refresh

Comments 8

какой будет строка соединения jdbc для описанной конфигурации (для БД test, например)
node1 192.168.56.11 Роль primary, она же мастер-нода;
node2 192.168.56.12 Роль standby. Обычная рабочая нода;
node3 192.168.56.13 Роль witness

Если подключение будет происходить с того компьютера, на котором установлен postgresql (т.е. localhost), то строка будет следующей:

jdbc:postgresql://localhost:5432/test

Если с удаленного компьютера, то строка будет:

jdbc:postgresql://192.168.56.11:5432/test

где test - это имя БД, 192.168.56.11 - IP-адрес мастер ноды

Спасибо! То есть цепляемся к мастеру.
А как будет происходит переключение primary/standby в этом случае? Прозрачно для приложения или придётся в приложении URL менять?

Так как мы заранее задали роли нодам кластера и прописали их адреса, то роли будут заданы в соответствии с ранее заданными адресами. Это означает, что если необходимо подключаться, например, к мастеру, то необходимо указывать IP-адрес мастера и мастер не уйдет с этой ноды.

Правильно ли я понимаю, что в данной конфигурации не предусматривается динамическая замена ролей primary/standby в случае отказа primary?

Динамическую да не предусматривает

Должен так же отметить, что фраза
Если подключение будет происходить с того компьютера, на котором установлен postgresql (т.е. localhost),

немного сбивает, посколько postgresql установлен как минимум на двух нодах (primary/standby), поэтому высказывание "с того компьютера, на котором установлен postgresql" можно трактовать только как «цепляться можно к любой ноде, это равнозначно» — что, предполагаю, всё-таки неверно.
Sign up to leave a comment.