Проблема в реализации репликации MySQL с весенней загрузки - PullRequest
0 голосов
/ 30 сентября 2019

У нас есть приложение весенней загрузки, и мы пытаемся подключиться к нескольким базам данных (главная / подчиненная).

Цель - оптимизировать общую производительность, перенаправляя операции чтения и записи на соответствующий сервер.

У нас есть структура master / slave, в которой master будет выполнять операции записи, а slave будет выполнять все операции чтения. Примечание: мы используем amazon RDS (aurora mysql) для master и его реплики чтения, и оба они существуют в одном кластере.

Мы пытаемся достичь этого с помощью диспетчера репликации mysql. В настройке мы определили ниже два свойства

spring.datasource.driverClassName=com.mysql.jdbc.ReplicationDriver
spring.datasource.jdbc-url=jdbc:mysql:replication://<master url>,<slave url>:3306/schema_name

Внутри репо все операции чтения помечаются @Transactional (readOnly = true), а операции записи - @Transactional (readOnly = false).

Проблема в том, что все чтение / записьтранзакции перенаправляются только в основную базу данных.

На самом деле это работало, когда я использовал URL-адреса (ведущий и ведомый), которые существуют в другом кластере.

Но когда мы пробовали его в одном кластере, он нене работает.

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