Аврора MySql JDBC Fail over - PullRequest
       11

Аврора MySql JDBC Fail over

0 голосов
/ 01 июня 2019

Мы оцениваем переключение с RDS MySql на Aurora MySql, в настоящее время мы используем следующую строку соединения JDBC с вашими первичными репликами и репликами чтения на RDS (обратите внимание на использование драйвера репликации):

jdbc:mysql:replication://master.xxxx.rds.amazonaws.com:3306,read.xxxx.rds.amazonaws.com:3306/dbnamerhere?autoReconnect=true&logger=com.mysql.jdbc.log.Slf4JLogger&allowSlavesDownConnections=true&readFromMasterWhenNoSlaves=true&loadBalanceBlacklistTimeout=5000

Myвопрос в том, как это будет работать с Aurora, где у вас нет определенного хоста, а вместо этого два URL-адреса, один для автора и один для всех ваших читателей:

Writer -> test-aurora-xxx.cluster-zzzzzz.us-east-1.rds.amazonaws.com

Читатель -> test-aurora-ro-xxx.cluster-zzzzzz.us-east-1.rds.amazonaws.com

Я предполагаю, что драйвер MySql JDBC не предназначен для обработки использования прокси-адреса считывателя, верно?Вероятно, ожидаются адреса для каждого хоста.Если у нас есть 5 читателей, будем ли мы по-прежнему просто использовать строку подключения, подобную этой (основанную на двух указанных выше адресах):

jdbc:mysql:replication://test-aurora-xxx.cluster-zzzzzz.us-east-1.rds.amazonaws.com:3306,test-aurora-ro-xxx.cluster-zzzzzz.us-east-1.rds.amazonaws.com:3306/dbnamerhere?autoReconnect=true&logger=com.mysql.jdbc.log.Slf4JLogger&allowSlavesDownConnections=true&readFromMasterWhenNoSlaves=true&loadBalanceBlacklistTimeout=5000

Есть ли лучшая практика для Aurora MySql с JDBC, aws не кажетсячтобы иметь тонну документации, и я продолжаю видеть, что рекомендация состоит в том, чтобы использовать драйвер JDBC MariaDB (https://aws.amazon.com/blogs/database/using-the-mariadb-jdbc-driver-with-amazon-aurora-with-mysql-compatibility/), это путь, или есть лучший путь?

...