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

Desenvolvendo sistemas gigantes na internet com arquiteturas baseadas em eventos - Paula Santana

Desenvolvendo sistemas gigantes na internet com arquiteturas baseadas em eventos - Paula Santana

Paula Santana @Itaú Unibanco palestrou na 3ª edição do DevConf, segue a minibio:

Atua com tecnologia desde 2008, onde começou como professora na Microlins e Microcamp, é formada em técnico de informatica para desenvolvimento de software pelo Centrol Paula Souza, fez Tecnólogo em Gestão Logística na UNIBR e começou a atuar como desenvolvedora Java em 2014, desde o ano passado 2018 esta atuando como arquiteta de soluções. É bem ativa nos grupos que promovem maior representatividade de minorias na tecnologia, começou uma comunidade de Agile no litoral de SP ( Caiçara Ágil) e embarcou em mais comunidades, ajudando no Baixada Nerd e no Devs JavaGirl, tem como lema profissional o compartilhamento de conhecimento.

Opensanca

May 04, 2019
Tweet

More Decks by Opensanca

Other Decks in Programming

Transcript

  1. O objetivo Mostrar principais conceitos sobre arquitetura orientada a eventos

    (EDA), possibilitando que você tenha uma base para assuntos mais específicos e um senso crítico sobre as abordagens
  2. Agenda ✘ Arquitetura de software ✘ Problemas que surgem ✘

    Gigante X Complexo ✘ Event Driven ◦ Topologias ◦ Padrões ✘ Próximos passos
  3. “ Arquitetura de sistemas consiste na definição dos componentes de

    software, suas propriedades externas, e seus relacionamentos com outros softwares
  4. 15

  5. Sistemas Gigantes Complexos Volume de Requisições / Transações / Operações

    Muitas integrações Volumetria de DAdos Muitas áreas de Produto Alta disponibilidade Legado
  6. “ Arquitetura Orientada a Eventos tem a capacidade de detectar

    eventos e reagir de maneira inteligente a eles.
  7. Notificação de Evento Serviço de Clientes Serviço de Preferências Atualiza

    Endereço BD Broker de Eventos cliente xxxx atualizou os dados Serviço de Entrega Serviço de ofertas
  8. Notificação de Evento • Se for usado como comando, a

    larga escala pode-se perder a visão do fluxo • Onerando o produtor com consultas • Baixo nível de acoplamento • Produtor não precisa saber quem são consumidores
  9. Transferência de Estado Transportado pelo evento Serviço de Clientes Serviço

    de Preferências Atualiza Endereço BD Broker de Eventos cliente xxxx atualizou os dados xxxxx xxxxx xxxx Serviço de Entrega BD BD
  10. • Duplicação dos dados • Dados fora do domínio •

    Complexidade no consumo de eventos • Alta disponibilidade e resiliência Transferência de Estado Transportado pelo evento
  11. Fonte de Eventos - Event Sourcing Profile Webapp Crédito Débito

    Transferência Eventos Broker de Eventos Dados de Leitura Manipulação de Eventos Crédito Débito Transferência
  12. • Schema de Eventos • Complexidade • Dependência Externa •

    Auditoria dos dados • Debugging • histórico dos eventos • Permite retornar estado Fonte de Eventos - Event Sourcing
  13. Possibilidades de uso dessa abordagem • Arquitetura Microservices / Distribuída

    • Aumento nas integrações • Volumetria dos dados • Responsividade • Escalabilidade
  14. Benefícios ✘ Menor Acoplamento ✘ Operações Assíncronas ✘ Facilidade em

    Adicionar novos consumidores ✘ Altamente escalável e distribuído ✘ Facilidade em evolução ✘ Facilidade em experimentação