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

Spring Cloud : Primeiros passos para o desenvolvimento de Microsserviços utilizando Java e Spring

Spring Cloud : Primeiros passos para o desenvolvimento de Microsserviços utilizando Java e Spring

More Decks by Kamila de fatima santos oliveira

Other Decks in Programming

Transcript

  1. São uma abordagem de arquitetura no qual o software é

    composto de pequenos serviços independentes que se comunicam entre si e são organizados de acordo com seus domínios de negócio . O que são microsserviços
  2. Em arquiteturas monolíticas , os processos são extremamente acoplados e

    são executados como um único serviço , se uma parte desse sistema tiver um pico de demanda, todo o restante da arquitetura deverá escalar. O que são microsserviços
  3. Essa complexidade e acoplamento dificulta a implementação de novas tecnologias,

    já que afeta a aplicação como um todo. O que são microsserviços
  4. Arquiteturas monolíticas aumentam o risco de disponibilidade dos aplicativos, processos

    altamente dependentes e acoplados podem causar uma falha geral nesse único processo. O que são microsserviços
  5. Já com a arquitetura de microsserviços , a arquitetura é

    criada com seus componentes independentes que executam cada processo do aplicativo como um serviço. O que são microsserviços
  6. Como são executados de forma independente , cada serviço pode

    ser desenvolvido em uma tecnologia diferente , ser escalado e atualizado de forma independente. O que são microsserviços
  7. Não é necessário compartilhar nenhum código e a comunicação acontece

    por meio de chamadas as APIs ou de forma assíncrona. Autônomos
  8. Cada serviço é desenhado para resolver um problema específico ,

    se começar a ser necessário ter outras responsabilidades é indicado que se crie um novo serviço. Especialistas
  9. A independência do serviço aumenta a resiliência a falhas na

    arquitetura , se um deles tiver algum problema , só afetará alguma parte do fluxo. Resiliência
  10. A divisão em módulos com responsabilidades bem definidas permite que

    funções específicas de algum serviço possam ser utilizadas para complementar features em outros sem precisar reescrever o código. Reutilização de código
  11. Os responsáveis por cada serviço podem decidir qual a melhor

    stack para cada caso. Liberdade de escolha de stack
  12. Spring Cloud fornece ferramentas para que os desenvolvedores criem rapidamente

    alguns dos padrões comuns em sistemas distribuídos (por exemplo, gerenciamento de configuração, descoberta de serviço, disjuntores, roteamento inteligente, micro-proxy, barramento de controle, tokens únicos, bloqueios globais, eleição de liderança, distribuído sessões, estado do cluster). Spring Cloud
  13. A coordenação de sistemas distribuídos leva a padrões padronizados e,

    usando o Spring Cloud, os desenvolvedores podem criar rapidamente serviços e aplicativos que implementam esses padrões Spring Cloud