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

Microservices e Event Sourcing em Larga Escala

Microservices e Event Sourcing em Larga Escala

Palestra no The Developers Conference São Paulo 2016
http://www.thedevelopersconference.com.br/tdc/2016/saopaulo/trilha-microservices

439e623c5d770ae0da8e61ec08452032?s=128

Vinicius Gomes

July 06, 2016
Tweet

Transcript

  1. Globalcode – Open4education Microservices e Event Sourcing em Larga Escala

    Vinicius Vieira Gomes vvgomes.com ThoughtWorks
  2. Globalcode – Open4education Agenda Contexto CRUD & REST Event Sourcing

    CQRS Event Driven Architecture Conclusões Mais Informações
  3. Globalcode – Open4education Contexto

  4. Globalcode – Open4education Contexto Uma plataforma de serviços bancários

  5. Globalcode – Open4education Contexto 8 times 70 pessoas 2 países

    Dezenas de pontos de integração
  6. Globalcode – Open4education Contexto Requisitos

  7. Globalcode – Open4education Contexto Requisitos Auditoria

  8. Globalcode – Open4education Contexto Requisitos Auditoria AML / Fraud

  9. Globalcode – Open4education Contexto Requisitos Auditoria AML / Fraud BI

    / Analytics
  10. Globalcode – Open4education Contexto Requisitos Auditoria AML / Fraud BI

    / Analytics Performance para leitura
  11. Globalcode – Open4education Contexto Requisitos Auditoria AML / Fraud BI

    / Analytics Performance para leitura Consistência para escrita
  12. Globalcode – Open4education Contexto Requisitos Auditoria AML / Fraud BI

    / Analytics Performance para leitura Consistência para escrita Arquitetura Open/Closed
  13. Globalcode – Open4education CRUD & REST

  14. Globalcode – Open4education CRUD & Rest

  15. Globalcode – Open4education CRUD & Rest

  16. Globalcode – Open4education CRUD & REST Em resumo: Estado atual

    é tudo que temos Difícil representar “User Intent” com fidelidade Serviços precisam se conhecer Leitura e escrita no mesmo modelo
  17. Globalcode – Open4education Event Sourcing

  18. Globalcode – Open4education Event Sourcing Pense em um eCommerce CRUD

  19. Globalcode – Open4education Event Sourcing Momento 1 Usuário começa a

    navegar nos produtos
  20. Globalcode – Open4education Event Sourcing Momento 2 Usuário adiciona um

    produto no carrinho
  21. Globalcode – Open4education Event Sourcing Momento 3 Usuário adiciona mais

    um produto no carrinho
  22. Globalcode – Open4education Event Sourcing Momento 4 Usuário remove um

    produto do carrinho
  23. Globalcode – Open4education Event Sourcing Momento 5 Usuário finaliza a

    compra
  24. Globalcode – Open4education Event Sourcing O mesmo eCommerce com Event

    Sourcing
  25. Globalcode – Open4education Event Sourcing Momento 1 Usuário começa a

    navegar nos produtos
  26. Globalcode – Open4education Event Sourcing Momento 2 Usuário adiciona um

    produto no carrinho
  27. Globalcode – Open4education Event Sourcing Momento 3 Usuário adiciona mais

    um produto no carrinho
  28. Globalcode – Open4education Event Sourcing Momento 4 Usuário remove um

    produto do carrinho
  29. Globalcode – Open4education Event Sourcing Momento 5 Usuário finaliza a

    compra
  30. Globalcode – Open4education Event Sourcing

  31. Globalcode – Open4education Event Sourcing Domain Events Persistem acontecimentos no

    sistema Payload e metadados Imutáveis e imortais
  32. Globalcode – Open4education Event Sourcing Domain Events

  33. Globalcode – Open4education Event Sourcing Commands

  34. Globalcode – Open4education Event Sourcing Aggregates

  35. Globalcode – Open4education Command Query Responsibility Segregation

  36. Globalcode – Open4education CQRS Event Store é Eficiente para escrita

    Não tão eficiente para leitura
  37. Globalcode – Open4education CQRS Command Query Responsibility Segregation

  38. Globalcode – Open4education Event Driven Architecture

  39. Globalcode – Open4education Event Driven Architecture Tecnologias Java 8 Axon

    Spring Boot ActiveMQ Oracle MongoDB Hadoop / Hive
  40. Globalcode – Open4education Event Driven Architecture

  41. Globalcode – Open4education Event Driven Architecture Serviços desacoplados Bounded Contexts

    Consistência global
  42. Globalcode – Open4education Event Driven Architecture Demo

  43. Globalcode – Open4education Event Driven Architecture Desafios CQRS + REST

    vvgomes.com/cqrs-and-rest Upcasters Snapshots Event Replay Sagas
  44. Globalcode – Open4education Conclusões

  45. Globalcode – Open4education Conclusões Requisitos Auditoria AML / Fraud BI

    / Analytics Performance para leitura Consistência para escrita Arquitetura Open/Closed
  46. Globalcode – Open4education Mais Informações Blog do Martin Fowler Greg

    Young Chris Richardson Axon Framework Datomic
  47. Globalcode – Open4education Microservices e Event Sourcing em Larga Escala

    Vinicius Vieira Gomes vvgomes.com ThoughtWorks