aristotllforks / DynamicDataSourceRouting

Exemplo de como utilizar Dynamic Data Source Routing com Java, Spring Boot e JPA.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Dynamic Data Source Routing

CI CodeFactor

Exemplo de uma API REST desenvolvida em Java com Spring, o intuito é apresentar uma solução arquitetural para dimensionar operações de leitura com banco de dados, neste exemplo trabalharemos com duas bases de dados, uma base de dados principal e uma réplica.

A ideia é fazer com que a aplicação direcione as transações definidas como READ_ONLY para a base de dados réplica e que as transações READ_WRITE sejam direcionadas para a base de dados principal.

As imagens e configurações contidas no arquivo docker-compose.yaml são específicas para lidar com a replicação de dados.

Esta arquitetura consiste em diminuir a concorrência entre transações da API com o banco de dados, isso nos permite alguns ganhos em ambientes de alta escala dado que podemos tranquilamente escalar horizontalmente mais nós de réplica quando necessário.

node node node

Arquitetura

node

Documentação

ℹ️ Após inicializar a aplicação, acesse a documentação clicando neste link.

Inicializando as bases de dados

⚠️ É necessário ter instalado docker e docker-compose.

Execute os comandos abaixo:

Inicializar:

docker-compose up -d

Parar:

docker-compose down --remove-orphans --volume

About

Exemplo de como utilizar Dynamic Data Source Routing com Java, Spring Boot e JPA.

License:Apache License 2.0


Languages

Language:Java 98.9%Language:Dockerfile 0.6%Language:Shell 0.5%