Spec-Zone.ru › MySQL Router 9.2

3.3 Базовое маршрутизирование подключений

Плагин Маршрутизация подключений выполняет маршрутизацию на основе подключений, что означает, что он пересылает пакеты на сервер без их проверки. Это упрощенный подход, обеспечивающий высокую пропускную способность. Дополнительную общую информацию о маршрутизации подключений см. в Разделе 1.3, «Маршрутизация подключений».

Пример простой настройки маршрутизации на основе подключений показан ниже. Эти и другие параметры описаны в Разделе 4.3.3, «Параметры файла конфигурации».

[logger]
level = INFO

[routing:secondary]
bind_address = localhost
bind_port = 7001
destinations = foo.example.org:3306,bar.example.org:3306,baz.example.org:3306
routing_strategy = round-robin

[routing:primary]
bind_address = localhost
bind_port = 7002
destinations = foo.example.org:3306,bar.example.org:3306
routing_strategy = first-available

Здесь мы используем маршрутизацию подключений для циклического распределения MySQL-подключений к трём MySQL-серверам на порту 7001, как определено стратегией round-robin routing_strategy. В этом примере также настроена стратегия first-available для двух серверов, использующих порт 7002. Стратегия first-available использует первый доступный сервер из списка целевых серверов. Количество MySQL-инстансов, назначенных каждому destinations, зависит от вас, так как это всего лишь пример. Маршрутизатор не проверяет пакеты и не ограничивает подключения на основе стратегии маршрутизации, поэтому приложение должно определить, куда отправлять запросы чтения и записи, что в нашем примере — либо порт 7001, либо 7002.

Предполагая, что все три MySQL-инстанса работают, следующая команда запускает MySQL Router, передавая файл конфигурации:

$> ./bin/mysqlrouter -config=/etc/mysqlrouter-config.conf

Теперь MySQL Router прослушивает порты 7001 и 7002 и отправляет запросы соответствующим MySQL-инстансам. Например:

$> ./bin/mysql --user=root --port 7001 --protocol=TCP

Это приведет к подключению сначала к foo.example.org, затем к bar.example.org, потом к baz.example.org, и четвёртый запрос вернётся к foo.example.org. Вместо этого мы по-другому настроили поведение порта 7002:

$> ./bin/mysql --user=root --port 7002 --protocol=TCP

Это сначала подключается к foo.example.org, и последующие запросы будут продолжать подключаться к foo.example.org до тех пор, пока не произойдёт ошибка. В этом случае будет использован bar.example.org. Дополнительную информацию об этом поведении см. в routing_strategy.

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-router-8.4-en/mysql-router-deploying-basic-routing.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API