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

Os melhores design patterns para microservices: uma abordagem prática

Os melhores design patterns para microservices: uma abordagem prática

Você já teve dúvidas sobre como começar uma aplicação baseada em microservices? Ou sobre como quebrar um monolito em vários microservices?

Muitas vezes as respostas não são apenas variadas, mas são até mesmo opostas! O que não ajuda em nada… E daí vem outra questão: há algum caminho seguro que eu possa trilhar para ter sucesso em meus projetos com microservices?

Pode apostar! Alguns design patterns específicos para microservices podem salvar o seu projeto, e nesta sessão vamos mostrar alguns dos melhores deles em uma abordagem 100% prática.

Participe dessa sessão e aprenda as melhores práticas que levarão os seus microservices ao próximo nível. Hoje!

Elder Moraes

June 25, 2020
Tweet

More Decks by Elder Moraes

Other Decks in Technology

Transcript

  1. @elderjava 2 Arquitetura de Microservices Estrutura uma aplicação como uma

    coleção de serviços que sejam: • De fácil manutenção • Altamente testáveis • Implantados de forma independente • Organizados em torno de requisitos de negócio • Controlados por um time pequeno
  2. @elderjava 5 bit.ly/elderyt Developer Advocate na Red Hat Board Member

    no SouJava Autor do livro Jakarta EE Cookbook Foco: ajudar desenvolvedores a construir e entregar aplicações incríveis
  3. @elderjava 6 6 Design Patterns • Service per team •

    Externalized Configuration • Circuit Breaker • Health Check API • Distributed Tracing • Application Metrics
  4. @elderjava 9 "Any organization that designs a system… will produce

    a design whose structure is a copy of the organization's communication structure.” - Melvin E. Conway Lei de Conway
  5. @elderjava 10 Service per Team • Times se tornam mais

    autônomos • Times trabalham mais desacoplados • Favorece qualidade de código devido ao fator de longo prazo • Times não necessariamente estão alinhados com o usuário final • Maior complexidade com funcionalidades que dependem de outros serviços
  6. @elderjava 12 • Externalized Configuration • Circuit Breaker • Health

    Check API • Distributed Tracing • Application Metrics