Pro Yearly is on sale from $80 to $50! »

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.

B2519015997dff04abe2568ebb2cf729?s=128

opensanca

May 04, 2019
Tweet

Transcript

  1. Desenvolvendo sistemas gigantes na internet com arquitetura baseada em eventos

  2. Olá! Paula Santana Desde 2008 em Tecnologia Desenvolvimento Java Arquitetura

    de Soluções Praia > SP Devs JavaGirl SouJava
  3. 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
  4. Agenda ✘ Arquitetura de software ✘ Problemas que surgem ✘

    Gigante X Complexo ✘ Event Driven ◦ Topologias ◦ Padrões ✘ Próximos passos
  5. Problema Qual problema vamos analisar?

  6. O que um programador faz?

  7. Expectativa

  8. Realidade

  9. Solução

  10. None
  11. “ Arquitetura de sistemas consiste na definição dos componentes de

    software, suas propriedades externas, e seus relacionamentos com outros softwares
  12. Monolito

  13. Origem: https://microservices.io/patterns/microservices.html Microservice

  14. Fonte: https://www.appcentrica.com/wp-content/uploads/2016/11/Microservices-Architecture-1.png

  15. 15

  16. Fonte: https://www.goobec.com.br/blog/redes-sociais-dados-estatisticos-2018/ Sistemas Gigantes

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

    Muitas integrações Volumetria de DAdos Muitas áreas de Produto Alta disponibilidade Legado
  18. Microsserviços Desenvolvedor Outros Padrões

  19. Empresas que utilizam esta abordagem

  20. None
  21. “ Arquitetura Orientada a Eventos tem a capacidade de detectar

    eventos e reagir de maneira inteligente a eles.
  22. Resolve Event Driven Problema

  23. Eventos Ação ou ocorrência que aconteceu. Mudança de estado.

  24. Evento Mensagem Comando

  25. Eventos Produtor Consumidor

  26. Topologia

  27. Mediador Apache Camel, Spring Integration ou Mule ESB

  28. Orquestração Pagamento Vendedor Entrega Pedido Mediador

  29. Coreografia Pagamento Vendedor Entrega Pedido Mediador 1. 2. 3. 4.

  30. Broker Kafka, ActiveMq, RabbitMq

  31. Padrões

  32. 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
  33. 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
  34. 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
  35. • 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
  36. 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
  37. • Schema de Eventos • Complexidade • Dependência Externa •

    Auditoria dos dados • Debugging • histórico dos eventos • Permite retornar estado Fonte de Eventos - Event Sourcing
  38. Próximos Passos

  39. Possibilidades de uso dessa abordagem • Arquitetura Microservices / Distribuída

    • Aumento nas integrações • Volumetria dos dados • Responsividade • Escalabilidade
  40. Entenda as soluções de mercado e veja as vantagens de

    cada uma
  41. None
  42. Modelos de Entrega - Fila Produtor Financeiro Financeiro Fila

  43. Modelos de Entrega - Tópico Produtor Financeiro Entrega Tópico

  44. Implementação

  45. 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
  46. Problemas ✘ Concorrência ✘ Complexidade ✘ Garantir Entrega ✘ Governança

  47. Dica de Ouro

  48. me solta…. ...que eu vou usar isso no meu projeto.

  49. Obrigada! Dúvidas? @psanrosa13 psanrosa13@gmail.com www.linkedin.com/in/paula-macedo-santana-dev/