Events, Event-driven
Architecture and
AsyncAPI, what the
fork?
“By 2020, event-sourced, real-time situational
awareness will be a required characteristic for
80% of digital business solutions, and 80% of
new business ecosystems will require support
for event processing.”
Top 10 Strategic Technology Trends for 2018
EVENT
DRIVEN
ARCHITECTURE
1EVENTS
● Evento: Toda ação que gera mudança de estado.
● Evento de Negócio: ….
É um evento que tem significado para
as atividades da empresa.
Pedido de um cliente
Pagamento Bancário
Alteração de produtos
PRODUÇÃO DETECÇÃO REAÇÃO
1EVENT-DRIVEN ARCHITECTURE
Consumidor(es) de eventos
MEDIADOR, BROKER DE
EVENTOS
Produtor (es) de eventos
TOPOLOGIA
1EVENT-DRIVEN ARCHITECTURE
TOPOLOGIA MEDIADOR
Processadores de eventos
MEDIADOR
DE EVENTOS
Eventos
Fila de Eventos
CANAL
DE
EVENTOS
1EVENT-DRIVEN ARCHITECTURE
TOPOLOGIA MEDIADOR
Serviço de
clientes
Mudança de
endereço
Mediador de eventos
Serviço
Notificação
Serviço
Cotação
FILA
1EVENT-DRIVEN ARCHITECTURE
TOPOLOGIA BROKER
Processadores de eventos
BROKER
DE EVENTOS
Eventos
1EVENT-DRIVEN ARCHITECTURE
TOPOLOGIA BROKER
Serviço de
clientes
Mudança de
endereço
Serviço
Notificação
Serviço
Cotação
FILA
FILA
1EVENT-DRIVEN ARCHITECTURE
PRINCÍPIOS
● Reportar eventos correntes;
● Envio de notificações;
● Comunicação em apenas uma direção;
● Resposta imediata;
● Livre de comandos.
1EVENT-DRIVEN ARCHITECTURE
● Event Notification;
● Event Carried State Transfer;
● Event Sourcing.
PADRÕES
1EVENT-DRIVEN ARCHITECTURE
PADRÕES EVENT NOTIFICATION
Serviço de
clientes
Mudança de
endereço Database
Broker de Eventos
Serviço de
Ofertas
Serviço
Bancário
“Cliente 43F31A1
atualizou os dados”
GET
/clients/43F31A1
● Desacoplamento do
receiver para o
sender
● Sobrecarga de
requisições no
produtor.
PRÓS
CONTRAS
1EVENT-DRIVEN ARCHITECTURE
PADRÕES EVENT CARRIED STATE TRANSFER
Serviço de
clientes
Mudança de
endereço Database
Broker de Eventos
Serviço de
Ofertas
Serviço
Bancário
“Cliente 43F31A1
atualizou o CEP para
29580000”
● Desacoplamento do
receiver para o
sender
● Redução da carga
do fornecedor
Database Database
PRÓS
● Replicação de
dados.
● Consistência de
dados.
CONTRAS
1EVENT-DRIVEN ARCHITECTURE
PADRÕES EVENT SOURCING
Database
Evento: Mudança
Endereço
PRÓS
CONTRAS
Serviço de
clientes
Mudança de
endereço
Event
Source
● Audit
● Debug
● Não é muito
familiar.
● Evento Schema
“Cliente 43F31A1
atualizou o CEP para
29580000”
1ASYNCAPI
● É uma especificação.
● Foco no aplicativo e nos canais que ele usa para se comunicar.
● Define o payload do evento, nome do canal,
application/transporte headers e o protocolo.
DOCUMENTAÇÃO
1ASYNCAPI
DOCUMENTAÇÃO
1ASYNCAPI
DOCUMENTAÇÃO
1ASYNCAPI
DOCUMENTAÇÃO
1EVENT-DRIVEN ARCHITECTURE
PRÓS CONTRAS
● Redução do acoplamento
● Operações assíncronas
● Facilidade em adicionar
novos consumidores
● Altamente escalável e
distribuído.
● Pode levar a perda de
informação
● Pode adicionar mais
complexidade se mal
implementada.
● Desafio para governança dos
dados e fluxos.
PRÓS/ CONTRAS
1E AGORA?
1. Entender a necessidade
2. Escolher a melhor arquitetura
3. Escolher um padrão
4. Escolher a ferramenta que melhor atenda a necessidade
5. Mão na massa
1EVENTS HUB
Subscriber EVENTS HUB Native APPs Cloud APPs Partner APPs
Publisher
● PUSH para os subscribers
● Retry automático de mensagens para o subscriber
● Segurança
● Garantia de entrega por nós
sensedia.com
Obrigada!
Contatos:
ana.borges@sensedia.com
@PaulaSimiqueli

Events, event driven architecture and async api, what the fork-