Я использую jdbc:mysql:loadbalance://...
в своем приложении Java. jdbc url выглядит следующим образом.MySQL JDBC loadbalance и failover
jdbc:mysql:loadbalance://xxx.xxx.xxx.xx,yyy.yyy.yyy.yyy.../database?zeroDateTimeBehavior=convertToNull&autoReconnect=true
я могу получить соединение одинаково с этого адреса, когда все серверы БД, живы и mysqlds работают. Кроме того, я могу это сделать, когда все серверы БД живут (ping достижимый) и один mysqld не работает (т. Е. Mysqld имеет некоторые проблемы или разбился), а остальные работают.
Но есть проблема, когда один из серверов не жив. Например, я выключил сервер yyy и попытаюсь установить соединение. Механизм отказоустойчивости, похоже, работал правильно, и я наконец смог получить соединение. Однако это заняло слишком много времени (около 75 - 85 секунд).
Как я могу сократить это время ожидания?
Я точно не знаю о mysql, но у меня может быть какое-то отношение к 'connection timeout' –
это много времени ... вы можете найти эту ссылку полезной (может быть, и на форуме) http: // dba.stackexchange.com/questions/1974/mysql-high-availability-failover-and-replication-with-latency – Leo
И BTW нам нужны такие аккуратные, сжатые и хорошо направленные первые вопросы. Добро пожаловать в stackoverflow. Возможно, у вас уже есть, но посетите faq. –