Spring boot и mysql router -> отдельные RW и RO или proxymysql?
Я пытаюсь выяснить, как лучше всего направить запись / обновление mysql и чтение на разные серверы mysql.
Первоначально я думал о двух контейнерах докеров mysql, один из которых является главным, а другой - подчиненным.
Однако теперь я думаю, может ли кластер mysql innodb быть лучшим вариантом?
Будет ли работать следующее?
- Настройте кластер mysql innodb, содержащий маршрутизатор, 1 первичный узел (RW) и 2 подчиненных узла (RO).
- В моем весеннем загрузочном приложении мне нужен только один источник данных, который является IP-адресом маршрутизатора, и он позволяет маршрутизатору решать, на какой сервер направлять трафик. Например, запись / обновление на первичный и чтение на любом из 2 ведомых.
- Если основной не работает, я перехожу, кластер innodb автоматически выберет один из подчиненных узлов в качестве основного.
Есть какие-нибудь проблемы?
Если вышеперечисленное работает, то сравните с простой настройкой репликации mysql (один главный, один подчиненный, два источника данных весной, один для записи, один для чтения), каковы плюсы и минусы?
благодаря
Обновление 5 декабря:
Я также смотрю на porxymysql, кажется, это лучшее решение. Разделение находится на уровне оператора, поэтому мне не нужно менять код. Также есть кеширование.