Настройка активного ожидания ProxySQL - PullRequest
0 голосов
/ 24 сентября 2019

Мои настройки:

Два сервера MySQL, работающие с репликацией Master-Master с использованием стороннего Tungsten Replicator (по устаревшим причинам, изменить это сейчас нельзя).

Обычно этот кластер используется в качестве активного режима ожидания.При нормальной работе все запросы должны попадать на первый сервер.Только в случае первого отказа сервера БД запросы должны попадать на вторичный сервер.Мастер-Мастер предназначен для удобства использования сценариев отработки отказа.Если основной сервер снова подключен к сети, все запросы должны быть отправлены на него.

Я сейчас использую балансировщик нагрузки Galera, настроенный в режиме активного ожидания с простой проверкой работоспособности (не пинг mysql для x раз = пропустить этот сервер) и все работает нормально.

Проблема:

Я бы хотел перенести glbd в ProxySQL и повторить мои настройки.Начинается с двух хостов с разными весами, т.е. 100000 против 1.

Байт, очевидно, ProxySQL использует его для взвешивания трафика, и 100000 запросов переходят на первичный, один следующий - на вторичный и так далее.Это вызывает проблемы, когда иногда высокая задержка репликации, 1 из каждых 100000 запросов будет попадать на вторичный сервер, который может иметь некоторые устаревшие данные.

Как настроить ProxySQL для отправки всех запросов только на мой основной сервер, когда проверка работоспособности говоритвсе нормально, а на вторичный сервер только если первичный нездоров?Когда первичная версия возвращается в рабочее состояние, все запросы должны быть перенесены на нее.

...