2.2.2 Подключение к одному из нескольких узлов и откат при разрыве соединения
При создании сессии вы можете указать несколько конечных точек MySQL Router или сервера (в виде хоста и необязательного порта или сокета Unix). Вы указываете строку в формате URI, содержащую несколько хостов, порты и необязательный приоритет. Это позволяет соединителю автоматически выбирать конечную точку при отказе подключения к любой из точек. Когда доступно несколько конечных точек, выбор сервера для сессии зависит от указания приоритета. Если для каждой конечной точки указан приоритет, используется доступная конечная точка с наивысшим приоритетом. Если приоритет не указан, используется случайная доступная конечная точка. В этом разделе описывается, как настроить несколько конечных точек в строке в формате URI. Дополнительную информацию о строках подключения в формате URI см. в .
Пользователь и пароль, которые вы указываете в строке в формате URI, применяются ко всем возможным конечным точкам, и поэтому на каждой из конечных точек должен существовать один и тот же аккаунт MySQL.
Для указания нескольких хостов без приоритета строка подключения в формате URI форматируется следующим образом:
user:password@[(address=[host]:[port]), (address=[host]:[port]) ..]
Набор конечных точек перечислены как хост, порт или хост и порт. При настройке нескольких конечных точек без приоритета для подключения выбирается любая из доступных конечных точек.
Для указания приоритетов для конечных точек строка подключения в формате URI форматируется следующим образом:
user:password@[(address=[host]:[port], priority=value), (address=[host]:[port], priority=value) ..]
Это настраивает конечные точки с явным приоритетом, например, для переключения подключения на определённую конечную точку в случае недоступности другой. Указанные приоритеты могут варьироваться от 0 (наименьший приоритет) до 100 (наивысший приоритет). Если два конечных точки имеют одинаковый приоритет, выбирается одна из них случайным образом.
Например, предположим, что вы подключаетесь, используя строку в формате URI, такую как:
mysqlx://user:password@[(address=example1.com:33060,priority=99),(address=example2.com:33060,priority=100)]
В этом случае существует две возможные конечные точки, и example2:33060 имеет более высокий приоритет. Когда обе конечные точки доступны, соединитель подключается к example2.com:33060. В случае, если example2.com:33060 недоступна, соединитель подключается к example1:33060.
© 2025 Oracle
Licensed under the GPLv2 License.