#93 Separando Leitura e Escrita com CQRS. Refatoração do ERP na Prática | TDD, Build in Public
Refatorador
0:00 / 0:00
#93 Separando Leitura e Escrita com CQRS. Refatoração do ERP na Prática | TDD, Build in Public
307 просмотров · 2 дн. назад
Refatorador
1,02 тыс. подписчиков
307 просмотров · 2 дн. назад
CQRS, réplica de leitura, MariaDB, Docker Compose e Clean Architecture: configuramos a replicação para escrever no banco principal e consultar a listagem em outro banco.
Nos episódios anteriores, separamos os modelos de escrita e leitura usando Repository e DAO. Agora avançamos para duas instâncias de MariaDB, configurando o banco principal e uma réplica destinada às consultas.
Ajustamos o Docker Compose, verificamos a replicação e criamos uma segunda conexão na aplicação. Depois, injetamos um DAO conectado à réplica no GetBankListQuery, mantendo as operações de escrita no banco principal.
Com os testes passando, confirmamos o destino das consultas e desligamos a réplica para observar a falha. Ao iniciá-la novamente, acompanhamos a atualização dos dados e o retorno do funcionamento da aplicação.
Também discutimos o possível atraso de replicação, as decisões envolvidas em separar bancos e dúvidas sobre Unit of Work, Transactional Outbox e armazenamento relacional ou NoSQL.
---------------------------------------------------------------------------------------------------------
Estamos refatorando um ERP legado passo a passo, aplicando Clean Architecture, testes automatizados e boas práticas de arquitetura de software.
Hub do Canal: https://refatorador.com
Comunidade (apenas avisos, sem SPAM): https://refatorador.com/whatsapp
Projeto no GitHub: https://github.com/drummerpva/erp
Capítulos
00:00 Recapitulando CQRS e os modelos de leitura e escrita
04:29 Configurando o banco principal e a réplica no Docker
10:29 Verificando migrações e replicação dos dados
12:17 Conectando o modelo de leitura à réplica
14:59 Testes passando e verificação do destino das consultas
18:22 Desligando a réplica e recuperando o funcionamento
21:11 Dúvidas sobre Unit of Work e dupla persistência
23:16 Consistência entre tabelas e escolhas entre SQL e NoSQL
SEO
CQRS com dois bancos, réplica de leitura, read replica, replicação MariaDB, Docker Compose, separação de leitura e escrita, Clean Architecture, DAO, Query Model, inversão de dependência, atraso de replicação, testes de integração, TypeScript.
#programação #refatoração #devbrasil #tdd #CleanArchitecture