Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

Kamila santos Backend Developer community organizer book co-author

Slide 3

Slide 3 text

O que são microsserviços Caracterísitcas dos microsserviços Spring Cloud Service Discovery Gateway Config Server Agenda

Slide 4

Slide 4 text

Circuit Breaker Exemplo Agenda

Slide 5

Slide 5 text

O que são microsserviços

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

Caracterísitcas dos microsserviços

Slide 13

Slide 13 text

Cada serviço pode ser desenvolvido, escalado e implantado sem interferir em outros serviços. Autônomos

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

Os responsáveis por cada serviço podem decidir qual a melhor stack para cada caso. Liberdade de escolha de stack

Slide 19

Slide 19 text

Spring Cloud

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

Spring Cloud

Slide 23

Slide 23 text

Spring Cloud

Slide 24

Slide 24 text

Possibilita que microsserviços descubram facilmente a rota de outros serviços que precisem acessar. Service discovery

Slide 25

Slide 25 text

Mais conhecidos: Spring Cloud Consul Spring Cloud Netflix Eureka Service discovery

Slide 26

Slide 26 text

Service discovery

Slide 27

Slide 27 text

Service discovery

Slide 28

Slide 28 text

Service discovery

Slide 29

Slide 29 text

Service discovery

Slide 30

Slide 30 text

Service discovery

Slide 31

Slide 31 text

Service discovery

Slide 32

Slide 32 text

Service discovery

Slide 33

Slide 33 text

Tem o papel de ser um intermediário nas nossas requisições para outros serviços. Gateway

Slide 34

Slide 34 text

Mais conhecidos Zuul Spring Cloud Gateway Gateway

Slide 35

Slide 35 text

Desenvolvido com o Spring Framework 5, Project reactor e Netty Server Spring Cloud Gateway

Slide 36

Slide 36 text

Desenvolvido com o Spring Framework 5, Project reactor e Netty Server Spring Cloud Gateway

Slide 37

Slide 37 text

Permite armazenar configurações de modo centralizado Config Server

Slide 38

Slide 38 text

Config Server

Slide 39

Slide 39 text

Facilita a utilização de clients de modo declarativo para integração de microsserviços. Feign

Slide 40

Slide 40 text

Controle sobre falhas e altas taxas de latência dentre os serviços Circuit Breaker

Slide 41

Slide 41 text

Ferramenta poderosa para melhorar registro e acompanhamento de logs de nossas aplicações Sleuth

Slide 42

Slide 42 text

se integra com bastante facilidade com LogBack e Sl4j Sleuth

Slide 43

Slide 43 text

seu grande diferencial consite em adicionar identficadores únicos em cada origem de cada log Sleuth

Slide 44

Slide 44 text

https://aws.amazon.com/pt/microservices/ https://spring.io/projects/spring-cloud https://www.youtube.com/watch? v=zRZuZrwYYc0 https://spring.io/projects/spring-cloud- openfeign#overview Referências

Slide 45

Slide 45 text

Obrigada :)