Можно ли указать время ожидания для подключений Maxscale из приложений? - PullRequest
0 голосов
/ 24 мая 2018

Я установил кластер MariaDB Galera с двумя узлами в системах Ubuntu.Простое приложение подключается к базе данных с помощью MaxScale, и оно отлично работает.Но когда узел в кластере, который используется в данный момент, скажем, узел 1, выходит из строя, приложение получает ошибку, такую ​​как 1927 или 1045. При получении этой ошибки приложение пытается снова подключиться к базе данных, но оно продолжает отказывать много раз, ноуспешно завершается после переключения с узла 1 на узел 2, и MaxScale предоставляет соединение с базой данных узлу 2. В моем кластерном окружении продолжительность пробного соединения составляет от 20 до 50 секунд.

Мой вопрос заключается в том, есть ли какой-либо параметр времени ожидания подключения MaxScale, который я могу использовать, чтобы указать время ожидания подключения для некоторого значения, например 50 секунд, чтобы приложение пыталось установить новое подключение только один раз, а не много раз,(Я использовал параметр connectTimeout в URL JDBC для базы данных, но он не был эффективным для моего приложения, и я думаю, что это ожидается.)

1 Ответ

0 голосов
/ 28 мая 2018

MaxScale отправляет ошибки, скорее всего, потому что главный сервер недоступен.Эту ошибку невозможно предотвратить с помощью MaxScale 2.2, и требуется повторное подключение на стороне клиента.

В MaxScale 2.3 будет доступна новая функция, которая позволяет поведение, аналогичное описанному вами (см. MXS-1501 ).

Если вы выполняете запросы только для чтения, может быть полезно включить master_failure_mode=error_on_write.Это позволит выполнять запросы только для чтения, даже если главный сервер недоступен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...