Download - DDD, CQRS, and Domain Events
São Paulo - Rio de Janeiro - Porto Alegre - São Leopoldo - Caxias do Sul
Desenvolvendo Aplicações Altamente Escaláveis com CQRS
São Paulo - Rio de Janeiro - Porto Alegre - São Leopoldo - Caxias do Sul
Aplicações Altamente Escaláveis
São Paulo - Rio de Janeiro - Porto Alegre - São Leopoldo - Caxias do Sul
CQRS – Command and Query Responsibility Segregation
Event Sourcing and Event Stores
EDA – Event Driven Architecture
Aplicações Altamente Escaláveis
São Paulo - Rio de Janeiro - Porto Alegre - São Leopoldo - Caxias do Sul
“A single model cannot be suitable to perform reports, searches and transactional behaviors”.
Greg Young
Conceito CQRS
São Paulo - Rio de Janeiro - Porto Alegre - São Leopoldo - Caxias do Sul
Conceito CQRS
São Paulo - Rio de Janeiro - Porto Alegre - São Leopoldo - Caxias do Sul
Business Task
São Paulo - Rio de Janeiro - Porto Alegre - São Leopoldo - Caxias do Sul
Reporting
São Paulo - Rio de Janeiro - Porto Alegre - São Leopoldo - Caxias do Sul
Task/Reporting
São Paulo - Rio de Janeiro - Porto Alegre - São Leopoldo - Caxias do Sul
Necessidade de mecanismos de sincronização:• Automático• Eventual• Controlada• Sob demanda
CQRS Implica em
São Paulo - Rio de Janeiro - Porto Alegre - São Leopoldo - Caxias do Sul
1. Mudanças de estado são feitas atráves de mensagens
2. Application Services aceita commandos da UI e dispara Mensagens/Eventos
3. Data Source de Consulta e Relatórios são atualizados por eventos
4. Todas as consultas feitas pela UI são processadas diretamente pelo Sistema de consulta
Fundamentos
São Paulo - Rio de Janeiro - Porto Alegre - São Leopoldo - Caxias do Sul
Fundamentos
São Paulo - Rio de Janeiro - Porto Alegre - São Leopoldo - Caxias do Sul
Fundamentos
São Paulo - Rio de Janeiro - Porto Alegre - São Leopoldo - Caxias do Sul
Escalabilidade
Performance
Conflitos de concorrência
Complexidade no desenvolvimento e manutenção
Soluções
São Paulo - Rio de Janeiro - Porto Alegre - São Leopoldo - Caxias do Sul
Mostrando um exemplo de Escrita e Leitura simples.
Demo
São Paulo - Rio de Janeiro - Porto Alegre - São Leopoldo - Caxias do Sul
Mostrando um exemplo completo
Demo
São Paulo - Rio de Janeiro - Porto Alegre - São Leopoldo - Caxias do Sul
Event Sourcing & Event Stores
São Paulo - Rio de Janeiro - Porto Alegre - São Leopoldo - Caxias do Sul
Event Sourcing & Event Store
São Paulo - Rio de Janeiro - Porto Alegre - São Leopoldo - Caxias do Sul
EDA – Event Driven Architecture
São Paulo - Rio de Janeiro - Porto Alegre - São Leopoldo - Caxias do Sul
When [something] has occurred, the system
should [something]…
EDA – Event Driven Architecture
São Paulo - Rio de Janeiro - Porto Alegre - São Leopoldo - Caxias do Sul
EDA – Event Driven Architecture
São Paulo - Rio de Janeiro - Porto Alegre - São Leopoldo - Caxias do Sul
ObrigadoGiovani [email protected]