SlideShare uma empresa Scribd logo
Microsserviços com Spring
Boot e Spring Cloud
Isac Haran de Almeida
Sobre mim
Desenvolvedor Full-Stack Java na Cooperalfa
Acadêmico de Sistemas de Informação na Unoesc
Realizando o TCC sobre Microsserviços com Spring
github.com/isacalmeida
www.linkedin.com/in/isacalmeida
Agenda
● Conceitos
● Microsserviços
● Spring Boot
● Spring Cloud
○ Config Server
○ Netflix Eureka
○ Netflix Zuul
○ Netflix Ribbon
○ OpenFeign
Conceitos
● Princípio da responsabilidade única
○ Cada microsserviço deve ser uma única responsabilidade no todo.
● Autossuficientes e autônomos
○ Devem ser implantáveis de forma independente
● Reutilizáveis
○ Um microsserviço deve conseguir ser utilizado de qualquer
plataforma. Ex: aplicativo móvel, desktops, browsers.
● Interoperabilidade de serviços
○ Troca de mensagens através do protocolo HTTP. REST/JSON são
padrões populares para estas trocas.
Microsserviços
● Fracamente acoplados
● Independente de tecnologia ou framework
○ Java, Spring, Dropwizard, PHP, Node
● Independente de infra-estrutura
○ Container, servidor virtualizado, de aplicação, banco de dados
Cases de sucesso
Benefícios
● Agilidade nas entregas
● Entrega contínua
● Grande escalabilidade
● Escalabilidade horizontal
● Flexibilidade no desenvolvimento
● Facilidade na refatoração
● Resiliência
● Maior entendimento e compreensão do código fonte
Spring Boot
● Rápida criação de projetos
● Configuração automática
○ Starters
● Zero XML
● Métricas e checagem de saúde
○ Actuator
● Servidor de aplicação embutido
○ Tomcat Embedded
● Produtividade no desenvolvimento
○ Devtools, LiveReload
Spring Cloud
● Facilita a implementação em ambientes
distribuídos
● Suporta diferentes arquiteturas e
tecnologias da nuvem
○ AWS, Heroku, Azure
● Integrado ao Spring Boot
Spring Boot + Spring Cloud
Exemplo da arquitetura
Spring Boot
Pom.xml
Application.yml
Application.java
Spring Cloud
Pom.xml
Config Server
Bootstrap.yml
Application.yml
Config Server
Application.java
Pom.xml
Eureka Server
Bootstrap.yml
Eureka-server.yml
Eureka Server
Application.java
Pom.xml
Eureka Server
Zuul Server
Bootstrap.yml
Pom.xml
Zuul Server Application.java
Ribbon e Feign
Referências
● http://ryanjbaxter.com/2015/09/14/building-cloud-native-apps-with-spring-part-1/
● https://www.codementor.io/vcg_cruz/microservices-with-spring-boot-yej5geisv
● https://martinfowler.com/articles/microservices.html
● https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/
● https://spring.io/projects/spring-cloud
Alguma dúvida?

Mais conteúdo relacionado

Mais procurados

Arquitetura de Microserviços - Stone Tech Saturday - Março/2017
Arquitetura de Microserviços - Stone Tech Saturday - Março/2017Arquitetura de Microserviços - Stone Tech Saturday - Março/2017
Arquitetura de Microserviços - Stone Tech Saturday - Março/2017
Renato Groff
 
Arquitetura de Microserviços - Tecnologia na Prática - Julho/2017
Arquitetura de Microserviços - Tecnologia na Prática - Julho/2017Arquitetura de Microserviços - Tecnologia na Prática - Julho/2017
Arquitetura de Microserviços - Tecnologia na Prática - Julho/2017
Renato Groff
 
Palestra de Asp.Net 5 no TDC floripa e DotnetFloripa
Palestra de Asp.Net 5 no TDC floripa e DotnetFloripaPalestra de Asp.Net 5 no TDC floripa e DotnetFloripa
Palestra de Asp.Net 5 no TDC floripa e DotnetFloripa
Renato Haddad
 
Sua aplicação nas nuvens com open shift
Sua aplicação nas nuvens com open shiftSua aplicação nas nuvens com open shift
Sua aplicação nas nuvens com open shift
Ricardo Martinelli de Oliveira
 
Java script vs vb script
Java script vs vb scriptJava script vs vb script
Java script vs vb script
Nielson Santana
 
Msp TechDay - TypeScript + React + Redux
Msp TechDay - TypeScript + React + ReduxMsp TechDay - TypeScript + React + Redux
Msp TechDay - TypeScript + React + Redux
LeonardoPrange
 
Arquitetura de Micro Serviços
Arquitetura de Micro ServiçosArquitetura de Micro Serviços
Arquitetura de Micro Serviços
Fernando Ike
 
Go e MongoDB
Go e MongoDBGo e MongoDB
Go e MongoDB
Paulo Pires
 
Configurando aplicações em ambiente RedHat OpenShift através do Eclipse
Configurando aplicações em ambiente RedHat OpenShift através do EclipseConfigurando aplicações em ambiente RedHat OpenShift através do Eclipse
Configurando aplicações em ambiente RedHat OpenShift através do Eclipse
Alberlan Barros
 
Mono
MonoMono
Python async
Python asyncPython async
Python async
Leonardo Rossetti
 
Micro serviços ppt
Micro serviços pptMicro serviços ppt
Micro serviços ppt
Tiago Lorenzetti Canatelli, MBA
 
Node.js, Uma breve introdução
Node.js, Uma breve introduçãoNode.js, Uma breve introdução
Node.js, Uma breve introdução
Pablo Feijó
 
Docker postgre
Docker postgreDocker postgre
Docker postgre
Fernando Anselmo
 
Kubernetes: dicas e truques para o dia a dia | Azure Experts - Novembro-2020
Kubernetes: dicas e truques para o dia a dia | Azure Experts - Novembro-2020Kubernetes: dicas e truques para o dia a dia | Azure Experts - Novembro-2020
Kubernetes: dicas e truques para o dia a dia | Azure Experts - Novembro-2020
Renato Groff
 
Linuxtips - a saideira
Linuxtips - a saideiraLinuxtips - a saideira
Linuxtips - a saideira
Talita Bernardes Pereira
 
Ensinando Computação e Fazendo Ciência com Python
Ensinando Computação e Fazendo Ciência com PythonEnsinando Computação e Fazendo Ciência com Python
Ensinando Computação e Fazendo Ciência com Python
Luiz Cláudio Silva
 
O Impacto da arquitetura de Micro Serviços nas soluções de software
O Impacto da arquitetura de Micro Serviços nas soluções de softwareO Impacto da arquitetura de Micro Serviços nas soluções de software
O Impacto da arquitetura de Micro Serviços nas soluções de software
Emmanuel Neri
 
Introdução ao Node.js - FATEC SP
Introdução ao Node.js - FATEC SPIntrodução ao Node.js - FATEC SP
Introdução ao Node.js - FATEC SP
Arthur Fücher
 

Mais procurados (19)

Arquitetura de Microserviços - Stone Tech Saturday - Março/2017
Arquitetura de Microserviços - Stone Tech Saturday - Março/2017Arquitetura de Microserviços - Stone Tech Saturday - Março/2017
Arquitetura de Microserviços - Stone Tech Saturday - Março/2017
 
Arquitetura de Microserviços - Tecnologia na Prática - Julho/2017
Arquitetura de Microserviços - Tecnologia na Prática - Julho/2017Arquitetura de Microserviços - Tecnologia na Prática - Julho/2017
Arquitetura de Microserviços - Tecnologia na Prática - Julho/2017
 
Palestra de Asp.Net 5 no TDC floripa e DotnetFloripa
Palestra de Asp.Net 5 no TDC floripa e DotnetFloripaPalestra de Asp.Net 5 no TDC floripa e DotnetFloripa
Palestra de Asp.Net 5 no TDC floripa e DotnetFloripa
 
Sua aplicação nas nuvens com open shift
Sua aplicação nas nuvens com open shiftSua aplicação nas nuvens com open shift
Sua aplicação nas nuvens com open shift
 
Java script vs vb script
Java script vs vb scriptJava script vs vb script
Java script vs vb script
 
Msp TechDay - TypeScript + React + Redux
Msp TechDay - TypeScript + React + ReduxMsp TechDay - TypeScript + React + Redux
Msp TechDay - TypeScript + React + Redux
 
Arquitetura de Micro Serviços
Arquitetura de Micro ServiçosArquitetura de Micro Serviços
Arquitetura de Micro Serviços
 
Go e MongoDB
Go e MongoDBGo e MongoDB
Go e MongoDB
 
Configurando aplicações em ambiente RedHat OpenShift através do Eclipse
Configurando aplicações em ambiente RedHat OpenShift através do EclipseConfigurando aplicações em ambiente RedHat OpenShift através do Eclipse
Configurando aplicações em ambiente RedHat OpenShift através do Eclipse
 
Mono
MonoMono
Mono
 
Python async
Python asyncPython async
Python async
 
Micro serviços ppt
Micro serviços pptMicro serviços ppt
Micro serviços ppt
 
Node.js, Uma breve introdução
Node.js, Uma breve introduçãoNode.js, Uma breve introdução
Node.js, Uma breve introdução
 
Docker postgre
Docker postgreDocker postgre
Docker postgre
 
Kubernetes: dicas e truques para o dia a dia | Azure Experts - Novembro-2020
Kubernetes: dicas e truques para o dia a dia | Azure Experts - Novembro-2020Kubernetes: dicas e truques para o dia a dia | Azure Experts - Novembro-2020
Kubernetes: dicas e truques para o dia a dia | Azure Experts - Novembro-2020
 
Linuxtips - a saideira
Linuxtips - a saideiraLinuxtips - a saideira
Linuxtips - a saideira
 
Ensinando Computação e Fazendo Ciência com Python
Ensinando Computação e Fazendo Ciência com PythonEnsinando Computação e Fazendo Ciência com Python
Ensinando Computação e Fazendo Ciência com Python
 
O Impacto da arquitetura de Micro Serviços nas soluções de software
O Impacto da arquitetura de Micro Serviços nas soluções de softwareO Impacto da arquitetura de Micro Serviços nas soluções de software
O Impacto da arquitetura de Micro Serviços nas soluções de software
 
Introdução ao Node.js - FATEC SP
Introdução ao Node.js - FATEC SPIntrodução ao Node.js - FATEC SP
Introdução ao Node.js - FATEC SP
 

Semelhante a Microsserviços com Spring Boot e Spring Cloud

Microservices: Mais que uma arquitetura de software, uma filosofia de desenvo...
Microservices: Mais que uma arquitetura de software, uma filosofia de desenvo...Microservices: Mais que uma arquitetura de software, uma filosofia de desenvo...
Microservices: Mais que uma arquitetura de software, uma filosofia de desenvo...
Emmanuel Neri
 
Um método para o desenvolvimento de software baseado em microsserviços
Um método para o desenvolvimento de software baseado em microsserviçosUm método para o desenvolvimento de software baseado em microsserviços
Um método para o desenvolvimento de software baseado em microsserviços
Thiago Pereira
 
Arquitetura de Microserviços
Arquitetura de MicroserviçosArquitetura de Microserviços
Arquitetura de Microserviços
Norberto Enomoto
 
De zero a cem em cloud computing transformando idéias em aplicações em pouco...
De zero a cem em cloud computing  transformando idéias em aplicações em pouco...De zero a cem em cloud computing  transformando idéias em aplicações em pouco...
De zero a cem em cloud computing transformando idéias em aplicações em pouco...
Ricardo Martinelli de Oliveira
 
Arquitetura de Microserviços
Arquitetura de MicroserviçosArquitetura de Microserviços
Arquitetura de Microserviços
Norberto Enomoto
 
Aplicações MultiTenant no Asp.NET Core 2.0
Aplicações MultiTenant no Asp.NET Core 2.0 Aplicações MultiTenant no Asp.NET Core 2.0
Aplicações MultiTenant no Asp.NET Core 2.0
Resource IT
 
Boas Práticas em Aplicações na Nuvem: Twelve-Factor App | MVPConf Latam 2021
Boas Práticas em Aplicações na Nuvem: Twelve-Factor App | MVPConf Latam 2021Boas Práticas em Aplicações na Nuvem: Twelve-Factor App | MVPConf Latam 2021
Boas Práticas em Aplicações na Nuvem: Twelve-Factor App | MVPConf Latam 2021
Renato Groffe
 
Microservices com Spring Boot e Spring Cloud Netflix
Microservices com Spring Boot e Spring Cloud NetflixMicroservices com Spring Boot e Spring Cloud Netflix
Microservices com Spring Boot e Spring Cloud Netflix
Natanael Fonseca
 
Arquitetura de Microservicos
Arquitetura de MicroservicosArquitetura de Microservicos
Arquitetura de Microservicos
Norberto Enomoto
 
Microprofile - Facilitando o desenvolvimento de Microserviços
Microprofile - Facilitando o desenvolvimento de MicroserviçosMicroprofile - Facilitando o desenvolvimento de Microserviços
Microprofile - Facilitando o desenvolvimento de Microserviços
Ivan Junckes Filho
 
Infraestrutura como código
Infraestrutura como códigoInfraestrutura como código
Infraestrutura como código
Eduardo Rozario
 
Microservices em Python: desafios e soluções
Microservices em Python: desafios e soluçõesMicroservices em Python: desafios e soluções
Microservices em Python: desafios e soluções
Guilherme Vierno
 
OpenShift
OpenShiftOpenShift
Microserviços: uma introdução
Microserviços: uma introduçãoMicroserviços: uma introdução
Microserviços: uma introdução
Daniel Baptista Dias
 
Construindo aplicações Web escaláveis com Docker, Kubernetes e o Microsoft Az...
Construindo aplicações Web escaláveis com Docker, Kubernetes e o Microsoft Az...Construindo aplicações Web escaláveis com Docker, Kubernetes e o Microsoft Az...
Construindo aplicações Web escaláveis com Docker, Kubernetes e o Microsoft Az...
Renato Groff
 
Internet das coisas - A revolução já começou
Internet das coisas - A revolução já começouInternet das coisas - A revolução já começou
Internet das coisas - A revolução já começou
Jose Wilker
 
Fundamentos em Containers
Fundamentos em ContainersFundamentos em Containers
Fundamentos em Containers
José Gabriel Gruber
 
Docker + Kubernetes: orquestrando containers e escalando rapidamente aplicaçõ...
Docker + Kubernetes: orquestrando containers e escalando rapidamente aplicaçõ...Docker + Kubernetes: orquestrando containers e escalando rapidamente aplicaçõ...
Docker + Kubernetes: orquestrando containers e escalando rapidamente aplicaçõ...
Renato Groff
 
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azure
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on AzureTDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azure
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azure
tdc-globalcode
 
Transformando a ti com cloud computing e virtualização
Transformando a ti com cloud computing e virtualizaçãoTransformando a ti com cloud computing e virtualização
Transformando a ti com cloud computing e virtualização
Darlan Segalin
 

Semelhante a Microsserviços com Spring Boot e Spring Cloud (20)

Microservices: Mais que uma arquitetura de software, uma filosofia de desenvo...
Microservices: Mais que uma arquitetura de software, uma filosofia de desenvo...Microservices: Mais que uma arquitetura de software, uma filosofia de desenvo...
Microservices: Mais que uma arquitetura de software, uma filosofia de desenvo...
 
Um método para o desenvolvimento de software baseado em microsserviços
Um método para o desenvolvimento de software baseado em microsserviçosUm método para o desenvolvimento de software baseado em microsserviços
Um método para o desenvolvimento de software baseado em microsserviços
 
Arquitetura de Microserviços
Arquitetura de MicroserviçosArquitetura de Microserviços
Arquitetura de Microserviços
 
De zero a cem em cloud computing transformando idéias em aplicações em pouco...
De zero a cem em cloud computing  transformando idéias em aplicações em pouco...De zero a cem em cloud computing  transformando idéias em aplicações em pouco...
De zero a cem em cloud computing transformando idéias em aplicações em pouco...
 
Arquitetura de Microserviços
Arquitetura de MicroserviçosArquitetura de Microserviços
Arquitetura de Microserviços
 
Aplicações MultiTenant no Asp.NET Core 2.0
Aplicações MultiTenant no Asp.NET Core 2.0 Aplicações MultiTenant no Asp.NET Core 2.0
Aplicações MultiTenant no Asp.NET Core 2.0
 
Boas Práticas em Aplicações na Nuvem: Twelve-Factor App | MVPConf Latam 2021
Boas Práticas em Aplicações na Nuvem: Twelve-Factor App | MVPConf Latam 2021Boas Práticas em Aplicações na Nuvem: Twelve-Factor App | MVPConf Latam 2021
Boas Práticas em Aplicações na Nuvem: Twelve-Factor App | MVPConf Latam 2021
 
Microservices com Spring Boot e Spring Cloud Netflix
Microservices com Spring Boot e Spring Cloud NetflixMicroservices com Spring Boot e Spring Cloud Netflix
Microservices com Spring Boot e Spring Cloud Netflix
 
Arquitetura de Microservicos
Arquitetura de MicroservicosArquitetura de Microservicos
Arquitetura de Microservicos
 
Microprofile - Facilitando o desenvolvimento de Microserviços
Microprofile - Facilitando o desenvolvimento de MicroserviçosMicroprofile - Facilitando o desenvolvimento de Microserviços
Microprofile - Facilitando o desenvolvimento de Microserviços
 
Infraestrutura como código
Infraestrutura como códigoInfraestrutura como código
Infraestrutura como código
 
Microservices em Python: desafios e soluções
Microservices em Python: desafios e soluçõesMicroservices em Python: desafios e soluções
Microservices em Python: desafios e soluções
 
OpenShift
OpenShiftOpenShift
OpenShift
 
Microserviços: uma introdução
Microserviços: uma introduçãoMicroserviços: uma introdução
Microserviços: uma introdução
 
Construindo aplicações Web escaláveis com Docker, Kubernetes e o Microsoft Az...
Construindo aplicações Web escaláveis com Docker, Kubernetes e o Microsoft Az...Construindo aplicações Web escaláveis com Docker, Kubernetes e o Microsoft Az...
Construindo aplicações Web escaláveis com Docker, Kubernetes e o Microsoft Az...
 
Internet das coisas - A revolução já começou
Internet das coisas - A revolução já começouInternet das coisas - A revolução já começou
Internet das coisas - A revolução já começou
 
Fundamentos em Containers
Fundamentos em ContainersFundamentos em Containers
Fundamentos em Containers
 
Docker + Kubernetes: orquestrando containers e escalando rapidamente aplicaçõ...
Docker + Kubernetes: orquestrando containers e escalando rapidamente aplicaçõ...Docker + Kubernetes: orquestrando containers e escalando rapidamente aplicaçõ...
Docker + Kubernetes: orquestrando containers e escalando rapidamente aplicaçõ...
 
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azure
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on AzureTDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azure
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azure
 
Transformando a ti com cloud computing e virtualização
Transformando a ti com cloud computing e virtualizaçãoTransformando a ti com cloud computing e virtualização
Transformando a ti com cloud computing e virtualização
 

Microsserviços com Spring Boot e Spring Cloud