O documento discute arquitetura orientada a eventos em ambientes complexos, apresentando conceitos como event sourcing, CQRS e Kafka. Também apresenta casos de uso e empresas que utilizam essa abordagem.
6. Globalcode – Open4education
Evento
“Algo que acontece e que se pode observar"
Martin Fowler (2005) diz que é possível
“Capturar todas as mudanças de estado de uma aplicação com uma sequência de eventos.”
7. Globalcode – Open4education
Event Driven - Gartner
Importante para os negócios digitais é a ideia de que a empresa está sempre sentindo
e pronta para explorar novos momentos de negócios digitais.
Rápida detecção dos eventos e análise dos dados.
O negócio digital impulsiona a necessidade de líderes, planejadores e arquitetos de TI
adotarem o pensamento sobre eventos.
8. Globalcode – Open4education
Quando utilizamos?
● Arquitetura distribuída
● Arquitetura Microserviços
● Volumetria dos dados
● Responsividade
● Escalabilidade
9. Globalcode – Open4education
Event Driven Architecture
Paradigma de design no qual um componente de software é executado em resposta
ao recebimento de uma ou mais notificações de eventos. O EDA é mais fracamente
acoplado do que o paradigma cliente / servidor, porque o componente que envia a
notificação não conhece a identidade dos componentes receptores no momento da
compilação.
12. Globalcode – Open4education
Event Notification
Cliente faz alteração
de endereço CRM
Event
Seguros
Cadastros Crédito Cartões
Evento de
notificação
Baixo nível de acoplamento
Perder a visão de todos os fluxos
(exemplo comando ao invés de
evento
+
-
Domínio Com Dados dos Clientes
BD
13. Globalcode – Open4education
Event-Carried State Transfer
Cliente faz alteração
de endereço CRM
Event
Seguros
Crédito Cartões
Transporte do
estado na
mensagem
-Alta Disponibilidade e Resiliência
-Menor latência
Duplicação de Dados
-Complexidade no Receptor
+
-
Domínio Com Dados dos Clientes
Sistemas sempre deveriam consultar
o Golden Source da informação
(CRM)
Clientes
Clientes
Clientes
Clientes
14. Globalcode – Open4education
Event Sourcing?
Para Martin Folwer o “Event Sourcing assegura que todas as
mudanças feitas no estado de uma aplicação são armazenadas
como uma sequência de eventos. Não só podemos buscar esses
eventos, mas também podemos usar este log de eventos para
reconstruir estados passados e ajustar automaticamente o estado
atual com mudanças retroativas”.
15. Globalcode – Open4education
Event Sourcing
• Débito
• Crédito
• Transferência
Extrato
• Débito 1000,00
• Crédito 500,00
• Saldo 5000
+ Auditoria
+ Dados Históricos
+ Voltar ao estado
Evento Gerado
Saldo
1000
Captura de eventos
- Dependência de Sistemas Externos
24. Globalcode – Open4education
Ambiente Complexo
-Produtos diversos
-Alta volumetria de dados
- Em torno de 4000 tps (Exemplo de consumo)
- Teras de dados por dia (logs)
-Dados sensíveis
- Orgão Regularórios (SUSEP,BACEN,ANBIMA, etc)