Я запускаю кластер MariaDB Galera, который использует mariaDB и 3 узла (узел A, узел B, узел C). Мои узлы размещены локально в нашем офисе.
Моя проблема в том, что если узел A / B / C потерял сетевое соединение, он также потерял работоспособность.
Скажем, приложение подключено к узлу A, затем узел A потерял сетевое подключение, поэтому, когда кто-то пытается прочитать / записать данные на узле A, используя физический доступ, скажем, через интерфейс командной строки, это не сработает. Это показывает, ERROR 1047 WSREP has not yet prepared node for application use
Я также хочу использовать узел A / B / C в автономном режиме. Когда они вернут сетевое соединение, оно автоматически реплицирует автономные данные на подключенные узлы.
Заранее спасибо,
Никсон
Из: https://groups.google.com/forum/#!topic/codership-team/BALCXRfizTs
Кластер Galera не позволяет использовать отключенные узлы в автономном режиме в режиме записи и повторно синхронизировать их с кластером в более поздний момент. Одна из причин заключается в том, что если на двух разделенных узлах вставляются записи с тем же значением, что и первичный ключ или уникальный индекс, при их слиянии возникнут проблемы с дублированием. Одно только программное обеспечение не может решить в такой ситуации, какая запись действительна, а какая должна быть отброшена.
Возможным вариантом может быть использование прокси-решения между клиентом и серверами, которое автоматически повторно подключает клиента к синхронизированному узлу в кластере, когда узел кластера, к которому был подключен клиент, выходит из строя. Например, Haproxy может сделать эту работу.