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

Arquitetura Orientada a Eventos com EventHub

Arquitetura Orientada a Eventos com EventHub

Aa25896c801005cad678cf4145531018?s=128

Ana Manzan

June 10, 2021
Tweet

Transcript

  1. Globalcode – Open4education Arquitetura Orientada a Eventos com EventHub

  2. Globalcode – Open4education ANA MANZAN MG <3 SP Desenvolvedora na

    GFT @anamanzandev falecom@anamanzan.dev anamanzan.dev
  3. Globalcode – Open4education RENÍCIUS PAGOTTO Engenheiro de Software de XP

    Apoiador do Developers-BR Fundador do Itu Developers Renícius Pagotto renicius.pagotto@outlook.com medium.com/@ renicius.pagotto
  4. Globalcode – Open4education Aplicações Monolíticas

  5. Globalcode – Open4education Toda a aplicação fica contida em um

    único módulo São constituídas de módulos grandes e normalmente são altamente acopladas Aumento de complexidade e tamanho ao longo do tempo Escalabilidade limitada Falta de flexibilidade para novas tecnologias
  6. Globalcode – Open4education

  7. Globalcode – Open4education SOA

  8. Globalcode – Open4education Service Oriented Architectures (SOA) é, em tradução

    livre, Arquitetura Orientada a Serviços. Esse conceito de arquitetura busca disponibilizar as funcionalidades de um sistema como um serviço. Se comunicam através de um Enterprise Service Bus (ESB), utilizando algum protocolo de comunicação (SOAP, por exemplo) ESB é ponto único de falha
  9. Globalcode – Open4education Vantagens A diminuição do tempo de desenvolvimento;​

    O baixo acoplamento entre as partes do sistema facilita a manutenção;​ Facilidade de agregar novas tecnologias a plataformas;​ E a possibilidade de reutilização de componentes.
  10. Globalcode – Open4education Microsserviços

  11. Globalcode – Open4education A arquitetura de microsserviços decompõe a aplicação

    por funções básicas​ Cada função é denominada um serviço e pode ser criada e implantada de maneira independente​ Cada serviço individual pode funcionar ou falhar sem comprometer os demais
  12. Globalcode – Open4education

  13. Globalcode – Open4education Comunicação entre serviços

  14. Globalcode – Open4education Mensagem / Evento REST gRPC

  15. Globalcode – Open4education Mensageria

  16. Globalcode – Open4education Mensageria é uma forma de comunicação assíncrona

    entre aplicações Comunicação é realizada por meio de mensagens Message Broker Produtores de mensagens Consumidores de mensagem
  17. Globalcode – Open4education

  18. Globalcode – Open4education Event Hub

  19. Globalcode – Open4education Serviço de ingestão de eventos de baixa

    latência Pode processar milhões de requisições por segundo Processamento em tempo real PaaS
  20. Globalcode – Open4education

  21. Globalcode – Open4education Arquitetura Orientada a Eventos

  22. Globalcode – Open4education O Event Driven Architecture é uma padrão

    de arquitetura que promove a produção, detecção, consumo e reação aos eventos de negócio; É um meio de comunicação assíncrona entre serviços Um serviço pode consumir ou emitir uma ou mais mensagens em uma ou mais filas.
  23. Globalcode – Open4education Eventos

  24. Globalcode – Open4education Eventos são notificações ou ações que o

    software emite ou recebe quando algo de significativo aconteceu, por exemplo, quando uma atualização de alguma entidade acontece em nosso sistema.
  25. Globalcode – Open4education Full payload Only event

  26. Globalcode – Open4education

  27. Globalcode – Open4education

  28. Globalcode – Open4education Assíncrono​ Baixo acoplamento entre serviços​ Fácil escalabilidade​

    Reprocessamento​ Fácil evolução do sistema Vantagens
  29. Globalcode – Open4education Alto custo​ Complexidade na infraestrutura (DevOps, Dev)​

    Complexidade na arquitetura​ Falha de serviços Consistência eventual Desvantagens
  30. Globalcode – Open4education SAGA Pattern

  31. Globalcode – Open4education É um padrão de gerenciamento de consistência

    de dados em transações distribuídas Uma transação distribuída consiste em uma série de operações (eventos) que acontecem em diferentes aplicações e servidores.
  32. Globalcode – Open4education

  33. Globalcode – Open4education Coreografia Os serviços trocam eventos sem um

    ponto de controle centralizado. Cada serviço dispara eventos para outros serviços
  34. Globalcode – Open4education

  35. Globalcode – Open4education Orquestração Possui um controlador centralizado que controla

    todo o fluxo de eventos e de compensação de eventos em caso de erro em alguma etapa do processo.
  36. Globalcode – Open4education

  37. Globalcode – Open4education Referências https://mmussett.medium.com/event-driven-architectures-business-transactions-in-a-microservice- architecture-part-1-27e710b9d99d https://wso2.com/whitepapers/event-driven-architecture-the-path-to-increased-agility-and-high- expandability/ https://www.cloudamqp.com/blog/why-use-rabbitmq-in-a-microservice-architecture.html https://www.oreilly.com/library/view/software-architecture-patterns/9781491971437/ch02.html

    https://www.redhat.com/pt-br/topics/microservices/what-are-microservices https://www.infoq.com/br/presentations/microservices-uma-abordagem-para-arquitetura-de-aplicacoes/ https://www.opus-software.com.br/o-que-e-soa-e-quais-os-beneficios/ https://docs.microsoft.com/pt-br/azure/architecture/reference-architectures/saga/saga
  38. Globalcode – Open4education Obrigada! falecom@anamanzan.dev renicius.pagotto@outlook.com

  39. None