Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Como vender pizzas utilizando eventos.

Como vender pizzas utilizando eventos.

Um case de um solução de arquitetura orientada a eventos e microsserviços.

Eduardo Hitek

August 26, 2021
Tweet

More Decks by Eduardo Hitek

Other Decks in Programming

Transcript

  1. Quem sou eu? • Candango; • Ciência da Computação@Unifor; •

    Pessoa Dev desde 2006; • Senior Software Developer@Trybe; • Aprendiz de Alquimista;
  2. O que vamos ver hoje? • Introdução ao EDA; •

    Conceito de Evento, Produtor, Consumidor, Filas e Exchanges; • Roteamento; • Possível solução de um problema utilizando Microsserviços e EDA; • Cuidados e pontos de atenção;
  3. O que essa palestra não é • Guia oficial; •

    Única maneira de como se resolver esse problema; • Definição sobre Tecnologia; • Visão aprofundada sobre EDA;
  4. O que é Arquitetura baseado em Eventos? 1. Modelo de

    Arquitetura de Software; 2. Comunicação Assíncrona; 3. Baixo acoplamento; 4. Altamente escalável;
  5. Evento • Cadastro de um novo Usuário; • Inserção de

    um item no carrinho de compras; • Envio de uma classificação de um livro; • Inclusão de uma série em uma watchlist;
  6. Produtor/Producer 1. Origina um evento; 2. Pode enviar para uma

    fila ou exchange; 3. Desconhece quem irá consumir o evento;
  7. Roteamento/Binding 1. Regras para a comunicação; 2. Define como os

    eventos são direcionados; 3. Depende da solução escolhida;
  8. Publish Key vs Routing Key • Publish Key: informação no

    evento que é usado pela Exchange no roteamento. Exemplo: squad.lego • Routing Key: define a regra de como a Exchange irá rotear os eventos para as filas. Exemplo: squad.scd, squad.*, squad.lego
  9. Pontos de atenção 1. Filas de erros de processamento (Dead

    Letter, Backout) ; 2. Filas de retry (imediatamente, programadas); 3. Mensagens retidas em filas; 4. Comportamento de Idempotência; 5. Mesmo formato de Evento; 6. Padrão de nomenclatura (Filas, Exchanges, Routing e Publish Key)