Padrões orientados a eventos com EventBridge
Implantando Aplicações na AWS
Dunieski Otano
Amazon Web Services Solutions Architect
Um pedido, quatro reações
Um pedido deve chegar a billing, fulfillment, analytics e email
Chamadas diretas para os quatro são frágeis e lentas
Um evento se ramifica para todos os consumidores
Escolhendo os serviços de mensagens certos
SQS
: uma fila, um grupo de consumidores, pelo menos uma vez
SNS
: pub/sub, envia uma mensagem para muitos assinantes
EventBridge
: roteia eventos por conteúdo para muitos destinos
Kinesis Data Streams
: streaming ordenado e reproduzível
O padrão fanout
Um evento deve chegar a
vários consumidores
de uma vez
Publique em um
tópico do SNS
Cada
fila SQS
assina o tópico
Cada consumidor recebe sua cópia, de forma desacoplada
Filtrando para cada um receber só o que precisa
Sem filtros, todo assinante recebe
todo evento
Políticas de filtro de assinatura do SNS
: filtram por atributos da mensagem
Filtros de conteúdo do EventBridge
: combinam campos do evento
Cada consumidor recebe só os eventos relevantes
Roteamento com EventBridge
Event bus
: recebe eventos de muitas fontes
Regra
: um padrão que combina certos eventos
Destino
: para onde os eventos combinados são enviados
Um evento pode ir para vários destinos
Streaming com Kinesis Data Streams
Um fluxo
contínuo e em tempo real
de registros
Registros
ordenados
dentro de um shard
Reproduzível
: consumidores relêem de qualquer ponto
Vários consumidores leem o
mesmo
stream de forma independente
Use para clickstream, telemetria, alto volume de dados
Lambda como consumidora de eventos
Lambda pode ser acionada por
SQS, SNS, EventBridge, Kinesis
Mapeamento de origem de eventos
faz polling de SQS e Kinesis
SNS e EventBridge
empurram
eventos para a Lambda
Processamento quase em tempo real sem servidores para gerenciar
Vamos praticar!
Implantando Aplicações na AWS
Preparing Video For Download...