9.2 Настройка отказоустойчивости сервера для подключений с использованием X DevAPI
При использовании протокола X Connector/J поддерживает функцию отказоустойчивости на стороне клиента для создания сессии. Если в URL подключения указано несколько хостов, при неудачном подключении к одному из них Connector/J пытается подключиться к другому. Вот пример URL X DevAPI для настройки отказоустойчивости на стороне клиента:
mysqlx://sandy:mypassword@[host1:33060,host2:33061]/test
При настроенной отказоустойчивости на стороне клиента, при возникновении проблемы с подключением, Connector/J продолжает попытки подключения к хостам в списке. Порядок попыток подключения к хостам следующий:
-
Для подключений, где для каждого хоста в URL подключения установлено свойство
priority, хосты проходятся в соответствии с заданными приоритетами хостов, которые задаются числами от 0 до 100, где большее число соответствует более высокому приоритету подключения. Например:mysqlx://sandy:mypassword@[(address=host1:33060,priority=2),(address=host2:33061,priority=1)]/test
В этом примере
host1всегда будет использоваться передhost2при создании новых сессий.Приоритеты должны быть установлены для всех или ни для одного из хостов.
Для подключений, где для каждого хоста в URL подключения свойство
priorityНЕ установлено, хосты проходятся один за другим в случайном порядке.
Обратите внимание, что функция отказоустойчивости сервера для X DevAPI позволяет переключаться только при попытке подключения Connector/J, но не во время операций после уже установленного подключения.
Пулы подключений с использованием X DevAPI. При использовании пулов подключений с X DevAPI Connector/J отслеживает любой хост, с которым не удалось подключиться, и в течение короткого периода ожидания после сбоя избегает подключения к нему при создании или получении Session. Однако, если все другие хосты уже были опробованы, исключённые хосты будут повторно проверены без ожидания. После того, как все хосты были проверены, и подключение не может быть установлено, Connector/J генерирует com.mysql.cj.exceptions.CJCommunicationsException и возвращает сообщение Unable to connect to any of
the target hosts.
Настройка отказоустойчивости сервера с использованием X DevAPI с DNS SRV
Подробности см. в разделе 6.14, «Поддержка записей DNS SRV».
© 2025 Oracle
Licensed under the GPLv2 License.