1.1 Маршрутизация для кластера MySQL InnoDB
MySQL Router является частью кластера InnoDB и представляет собой лёгкий промежуточный программный слой, обеспечивающий прозрачную маршрутизацию между вашим приложением и бэкенд-серверами MySQL. Он используется для широкого спектра задач, таких как обеспечение высокой доступности и масштабируемости путём маршрутизации трафика базы данных к соответствующим бэкенд-серверам MySQL. Подключаемая архитектура также позволяет разработчикам расширять MySQL Router для пользовательских сценариев использования.
Для получения дополнительной информации о том, как Router является частью кластера InnoDB, см. .
Введение
Для того, чтобы клиентские приложения могли обрабатывать переключение, они должны быть осведомлены о топологии кластера InnoDB и знать, какой экземпляр MySQL является PRIMARY. Хотя приложения могут реализовать эту логику, MySQL Router может предоставить и обрабатывать эту функциональность за вас.
MySQL использует Group Replication для репликации баз данных по нескольким серверам, выполняя автоматическое переключение при сбое сервера. При использовании с кластером MySQL InnoDB, MySQL Router выступает в качестве прокси, скрывая множество экземпляров MySQL в вашей сети и сопоставляя запросы данных с одним из экземпляров кластера. До тех пор, пока существует достаточно онлайн-реплик и коммуникация между компонентами сохранена, приложения смогут связаться с одним из них. MySQL Router также делает это возможным, позволяя приложениям подключаться к MySQL Router вместо непосредственного подключения к MySQL.
Развёртывание Router с кластером MySQL InnoDB
Рекомендуемая модель развёртывания MySQL Router — с кластером InnoDB, при этом Router размещается на том же хосте, что и приложение.
Шаги по развёртыванию MySQL Router с кластером InnoDB после настройки кластера:
Установить MySQL Router.
-
Инициализировать кластер InnoDB и провести тестирование.
Инициализация автоматически настраивает MySQL Router для существующего кластера InnoDB, используя
--bootstrapи другие командные параметры. Во время инициализации Router подключается к кластеру, получает его метаданные и настраивает себя для использования. Инициализация необязательна.Для получения дополнительной информации см. Главу 3, Развёртывание MySQL Router.
-
Настроить MySQL Router для автоматического запуска.
Настройте вашу систему на автоматический запуск MySQL Router при перезагрузке хоста, аналогично тому, как настраивается автоматический запуск сервера MySQL. Для получения дополнительных деталей см. Раздел 5.1, “Запуск MySQL Router”.
Например, после создания кластера MySQL InnoDB вы можете настроить MySQL Router, используя:
$> mysqlrouter --bootstrap localhost:3310 --directory /opt/myrouter --user snoopy
Этот пример инициализирует MySQL Router для существующего кластера InnoDB, где:
localhost:3310является членом кластера InnoDB, и либо PRIMARY, либо инициализация будет перенаправлять на PRIMARY в кластере.Поскольку был использован необязательный параметр
--directoryинициализации, этот пример создаёт автономную установку со всеми сгенерированными каталогами и файлами в/opt/myrouter/. Эти файлы включаютstart.sh,stop.sh,log/, и полностью функциональный конфигурационный файл MySQL Router под названиемmysqlrouter.conf.Только системный пользователь хоста с именем
snoopyбудет иметь доступ к/opt/myrouter/*.
См. --bootstrap и связанные параметры для изменения процесса инициализации. Например, передача --conf-use-sockets включает соединения Unix-доменных сокетов, потому что по умолчанию включены только TCP/IP-соединения.
© 2025 Oracle
Licensed under the GPLv2 License.