Здесь я пытаюсь достичь следующего в AWS RDS. У меня запущен экземпляр базы данных MySQL. Я подумываю создать реплику для чтения, чтобы у меня были дополнительные возможности распределения нагрузки.
У меня есть приложение Spring Boot, работающее на EC2. В настоящее время я подключаюсь к базе данных, добавляя следующие свойства в application.yml:
datasource:
type: com.zaxxer.hikari.HikariDataSource
url: jdbc:mysql://DB_HOSTNAME:3306/DB_DATABASE?useUnicode=true&characterEncoding=utf8&useSSL=false&useLegacyDatetimeCode=false&serverTimezone=UTC
username: DB_USERNAME
password: DB_PASSWORD
Мой вопрос:
- Если я создаю реплику для чтения, сделайте Мне нужно написать специальный код для подключения к нему?
- Нужно ли мне несколько пулов подключений, по одному для каждого экземпляра базы данных?
- Как это масштабируется с точки зрения кода, если у меня их 5 читать реплики, как мне управлять этим в коде?
- Как мне направить вызовы моей базы данных на разные реплики? На чем основано это решение?
Если есть ссылка / видео / документация, вы можете указать мне на них. Spring загрузка не обязательна, мне нужно понять, как лучше всего использовать мои реплики чтения из приложения Java.
Спасибо