Как настроить резервный вариант jdbc для коннектора mariadb

Я хочу, чтобы мое приложение всегда стремилось наилучшим образом подключиться к первому узлу кластера базы данных с несколькими мастерами galera.

Мои приложения используют коннектор mariadb jdbc для подключения к базе данных. Из-за известных ограничений галеры у меня часто возникают конфликты. Одним из решений было бы заставить приложения подключаться только к одному узлу для записи. Согласно документации коннектора mariadb здесь, я могу использовать режим sequentail, чтобы коннектор пробовал хосты по порядку. Но проблема с sequential в том, что он не откатывается, поэтому я все еще не могу гарантировать, что все приложения будут подключаться к одному и тому же узлу базы данных.

Есть ли какие-либо предложения?

Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
В предыдущем посте мы создали функциональность вставки и чтения для нашей динамической СУБД. В этом посте мы собираемся реализовать функции обновления...
Документирование API с помощью Swagger на Springboot
Документирование API с помощью Swagger на Springboot
В предыдущей статье мы уже узнали, как создать Rest API с помощью Springboot и MySql .
Роли и разрешения пользователей без пакета Laravel 9
Роли и разрешения пользователей без пакета Laravel 9
Этот пост изначально был опубликован на techsolutionstuff.com .
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
1
0
546
1

Ответы 1

Документация на странице знаний mariadb не совсем ясна.

Вот что я нашел о коннекторе Mariadb после некоторых тестов:

  1. Базовый отказоустойчивый Если режим отработки отказа не указан, он использует Базовый отказоустойчивый (например, jdbc:mariadb://host1,host2). В этом режиме драйвер JDBC будет изо всех сил пытаться подключиться к host1, пока он не станет недоступным. После аварийного переключения, если host1 вернется, он попытается вернуться к host1 и отключить другие хосты.

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

  3. Отказоустойчивость Насколько я понимаю, jdbc:mariadb:failover в соединителе JDBC Mariadb эквивалентен jdbc:mysql:loadbalance в соединителе JDBC MySQL. Соединитель будет подключаться ко всем узлам в режиме чтения и записи, если вы не укажете (type=slave).

  4. Репликация С jdbc:mariadb:replication://host1,host2,host3 драйвер JDBC будет подключаться к host1 в режиме чтения и записи, а ко всем остальным узлам — в режиме чтения.

Другие вопросы по теме