Статьи

Spring Boot 2 с несколькими источниками данных

Spring Boot 2

В этой статье я собираюсь объяснить, как ваше приложение Spring Boot может взаимодействовать с несколькими источниками данных и не обязательно одного и того же типа (Postgres для этой демонстрации), но его можно применять ко всем другим реляционным базам данных. Есть случаи, когда вам нужно иметь несколько источников данных от разных поставщиков, но общая концепция схожа, и этот пример может быть полезен с некоторыми изменениями в конфигурации проекта (application.yml).

Для этой демонстрации я выбрал PostgresSQL Data Replication, которая часто используется в высоконагруженной базе данных с большим трафиком в приложении.

Иногда даже при наличии лучшей базы данных (PostgresSQL, Oracle, MySQL, …) настройка не может быть настолько же полезной, как при разделении чтения базы данных и записи базы данных на уровне приложения.

Настройка Postgres

Для этой демонстрации вам понадобятся две отдельные базы данных Postgres, одна из которых является главной, а другая — репликой.

Я использовал две базы данных PostgresSQL, которые работают на моем локальном Docker на двух отдельных портах: 5432 и 5433.


Вы также можете прочитать: 
Настройка нескольких источников данных с помощью Spring Boot и Spring Data в PCF

Для простоты, просто запустите:  docker-compose up --force-recreate.

Он  docker-compose.ymlуже находится в проекте, который содержит две базы данных PostgresSQL в двух разных портах с  demo базой данных.

Примечание : вы всегда можете удалить его как:  docker-compose down если вам нужно.


YAML