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

Microserviços com EventFlow

Microserviços com EventFlow

Microserviços com EventFlow

Luiz Eduardo Queiroz

995da43c63637abe565646796d4e487e?s=128

TOTVS Developers

August 26, 2020
Tweet

More Decks by TOTVS Developers

Other Decks in Programming

Transcript

  1. TODOS OS DIREITOS RESERVADOS MS + EVENTFLOW Janeiro /2020 /Eduardo

    Queiróz
  2. 2

  3. 3 EF is a basic CQRS+ES framework designed to be

    easy to use. WELCOME TO EVENT FLOW 01
  4. 4 • Único ponto de falha • Alto custo de

    escalabilidade • Serviços inalterados no deploy • Codebase enorme • Curva de aprendizagem elevada • Arquitetura complexa MONOLITO
  5. 5 • Alta independência • Alta escalabilidade • Manutenção simplificada

    • Deploy com segurança • Hospedagem de baixo custo MICROSERVIÇOS
  6. 6 SOLUÇÃO PROPOSTA Docker provendo os containers de infraestrutura e

    aplicação. Docker Aplicações construídas utilizando .Net Core .Net Core Biblioteca para auxiliar no desenvolvimento da aplicação EventFlow Message-broker open-source que implementa o protocol AMQP RabbitMQ
  7. 7 TIPS 02 Algumas dicas para melhor utilização do EventFlow

  8. 8 TIPS • Agregados com muitos eventos podem afetar o

    desempenho da sua aplicação. • Com o snapshot podemos capturar o estado a cada N eventos. • Ao invés de carregar todo o histórico o snapshot mais recente é carregado. SNAPSHOTS
  9. 9 TIPS • Abstrai a necessidade de escrever queries para

    consultas. • Simplesmente recebe o identificador e retorna a entidade. QUERYPROCESSOR
  10. 10 TIPS • Representação da entidade • Decorada com a

    interface IReadModel e IReadModelFor, onde definimos o agregado, o identificador e qual evento será o responsável por persistir a mesma. READMODEL
  11. 11 TIPS • Semelhante ao já aplicado Command Pattern •

    Responsável por interpretar um comando (solicitação) e combiná-lo com um manipulador (execução). • A diferença básica é a inclusão do agregado e do identificador. COMMAND
  12. 12 TIPS • A diferença básica é necessidade de utilizar

    a interface ISubscribeSynchronousTo • Ela é a responsável por interpreter a mensagem no EventBus e executar as ações posteriormente. EVENTS
  13. 13 HANDS ON! 03

  14. #SOMOSTOTVERS • Tecnologia + Conhecimento são nosso DNA. • O

    sucesso do cliente é o nosso sucesso. • Valorizamos gente boa que é boa gente. totvs.com @totvs /totvs company/totvs totvs.store @totvs OBRIGADO EDUARDO QUEIRÓZ Inovação - Hospitalidade luiz.queiroz@totvs.com.br