Please enable JavaScript.
Coggle requires JavaScript to display documents.
Chapter 5. Splitting the monolith (Reporting (Data Retrieval via Service…
Chapter 5. Splitting the monolith
It's all about seams
Seam
"A portion of the code that can be treated in insolation and worked on without impacting the rest of the code base" (costura, linha de junção)
O que faz uma boa "Costura"?
Bounded contexts
pequenas alterações, grandes mudanças
3.The reasons to split a monolith
Deve ser divido aos poucos. Um pedaço por vez. Tem que avaliar o que vai ser mais benéfico. A medida que novas funcionalidades ou necessidades forem surgindo pode ser um bom motivo para criar um serviço e separar do monólito
Pace of change
Team structure
security
Technology
Motivos para mudanças
O nome da seção deveria ser
"Como começamos a dividir o monólito?"
4.tangled dependencies
(dependências emaranhadas)
Começar tentando identificar quais são as dependências mais fáceis de separar.
5.The database
getting to grips with the problem
(se familiarizando com o problema)
Para começo é bom verificar que partes do sistema ler do e escreve no banco
Depois organiza-las em grupos que representam nossos contextos
Usar o banco como forma de comunicação central não é uma boa
Example: Breaking Foreign Key Relationships
Transactional Boundaries
Consitência
Tudo ou nada
Dificuldade em fazer isso em ambientes de micro-serviços
Reporting
The Reporting Database
In monolithic all data is stored in one big database
In monolithic reporting across all the information is easy.
In monolithic: To avoid hanging we run queries in the replica database
Data Retrieval via Service Call
Reporting system pull the data
Data is pulled via API calls. Maybe you need to make multiple calls to assemble data.
This is work for a very simple reporting system
Expose batch APIs to make reporting easier.
Expose an interface that lets page through all data
Creating a resource responsible to start a process and save the data in a shared location
Data pumps
Data pushed to the reporting system
Standalone program that directly accesses the database of the service that is the source data, and pumps it into a reporting database.
Event data pump
bind to the event emitted by the service
14.toward real time
Capítulo 8
vai falar sobre isso
Cost of change
make mistakes where impact will be lowest
Understanding Root Causes