#mysql #mariadb #synchronization #maxscale
Вопрос:
Мое приложение, работающее на клиенте, использует базу данных MySQL, работающую на сервере. Таким образом, несколько клиентов подключены к одному и тому же серверу. Это хорошо работает, когда сервер находится в сети. Но теперь я хотел бы улучшить свое приложение, чтобы оно могло работать в автономном режиме.
--------------
| |
----------- SERVER ----------
| | | |
| ------- ------ |
| | |
------ ------- ------- ------ ------- ------
| | | | | |
| Client 1 | | Client 2 | | Client X |
| | | | | |
-------------- -------------- --------------
Теперь возникает проблема: что происходит, когда клиент находится в автономном режиме? Мне тоже нужна копия моей базы данных MySQL на каждом клиенте. По умолчанию приложение взаимодействует с MySQL на сервере. Если этот сервер недоступен (по какой причине: сервер отключен или у клиента нет подключения к Интернету), он должен использовать MySQL, запущенный на клиенте. Если соединение клиент/сервер снова доступно, базы данных должны быть синхронизированы автоматически.
Теперь мой вопрос: как этого добиться? Прежде всего, я проверил репликацию MySQL, но в моем сценарии у меня несколько «мастеров» и неизвестное количество клиентов. Поэтому я боюсь, что репликация-это не мое решение. Можно ли решить мою проблему с помощью MaxScale? Я никогда не работал с этим, так что я действительно ценю любую помощь.
Комментарии:
1. Давайте сначала уточним, используете ли вы mysql или mariadb! Нет, они не одно и то же, вопреки распространенному мнению.
2. @Shadow на сервере работает MySQL. MariaDB работает на клиентах. … Я знаю, что это не одно и то же 🙂
3. Вы напрашиваетесь на неприятности с этой установкой!
4. Предполагая, что на ваших клиентах работает сервер MariaDB, вам следует начать с выбора MySQL или MariaDB и преобразовать все экземпляры сервера в MySQL или MariaDB. Но даже если все серверы одинаковы (версия и поставщик) …. Я спрашиваю себя, относится ли этот вопрос к dba.stackexchange.com ?
5. Я согласен с @Luuk: если ваш вопрос касается настройки прокси-сервера базы данных, то этот вопрос здесь не по теме, так как это касается только вопросов, связанных с программным обеспечением. Дочерний сайт DBA SO занимается вопросами типа конфигурации. Но вы действительно должны использовать одни и те же продукты базы данных, вплоть до второстепенного номера версии на клиенте и сервере.