Я пытаюсь настроить сервер MySQL (Master-Master) с одинаковым DNS.
Все работает нормально, даже если я остановил любой MySQL-сервер.
Проблема в том, что когда один из mysql-серверов отключен, соединение php mysqli больше не работает и через 30 секунд автоматически прерывается.
Есть идеи, почему это происходит?
Что я могу сделать?
DNS циклического перебора возможен, только если каждая из ваших конечных точек работает. Отключение одного из серверов приведет к случайному сбою служб. Нет гарантии, что повторная попытка даст вам другой сервер, некоторые операционные системы настоятельно рекомендуют первую запись в любом случайном порядке, в котором возвращаются IP-адреса.
Вам нужен TCP-прокси с балансировкой нагрузки, который может добавлять или удалять серверы из пула. Что-то вроде HAProxy Это хорошее место для начала, но вы можете найти что-то более специфичное для MySQL, которое лучше соответствует вашим потребностям.
Round-robin DNS — худший из возможных способов кластеризации баз данных. Избегайте этого любой ценой.
Других решений пока нет …