Message-ID: From: "robert-mirzakhanian (@robert-mirzakhanian)" To: "pgjdbc/pgjdbc" Date: Tue, 04 Feb 2025 19:12:29 +0000 Subject: Re: [pgjdbc/pgjdbc] PR #3506: feat: Add access for global host status tracker In-Reply-To: References: List-Id: X-GitHub-Author-Login: robert-mirzakhanian X-GitHub-Comment-Id: 2634839411 X-GitHub-Comment-Type: issue_comment X-GitHub-Issue: 3506 X-GitHub-Repo: pgjdbc/pgjdbc X-GitHub-Type: comment X-GitHub-Url: https://github.com/pgjdbc/pgjdbc/pull/3506#issuecomment-2634839411 Content-Type: text/plain; charset=utf-8 Позвольте ещё раз объяснить, но только на русском языке. Когда в подключении к базе данных указываются несколько хостов, возникает проблема. Например, для подключения к базе данных можно использовать следующий адрес: jdbc:postgresql://host2:5433,host1:5432,host3:5434/some_db. Хосты host1, host2 и host3 расположены в разных датацентрах (dc1, dc2 и dc3 соответственно). Сетевые запросы между этими датацентрами при больших объемах данных могут замедляться, что вполне логично, учитывая трафик между ними. Мы можем ранжировать хосты по удалённости датацентра от сервиса, но возникает проблема, когда один из хостов отключается для проведения технических работ. В таком случае драйвер PostgreSQL переключается на следующий доступный хост, в данном случае на host1. После восстановления host2 драйвер не возвращается обратно. Я хочу получать от драйвера информацию о том, к какому хосту он подключен. Если я решу, что это не тот хост, который мне нужен, я смогу закрыть текущие соединения и открыть их заново.