SlideShare ist ein Scribd-Unternehmen logo
1 von 18
Downloaden Sie, um offline zu lesen
Java – Microservices
PROFESSOR: FABIO TAVARES DIPPOLD
ALUNOS: LUIS MACHADO, OSMAR PETRY, E SERGIO ROIKO
Centro Universitário - Católica de Santa Catarina
A arquitetura monolítica
Uma aplicacação monolítica é auto-sulficiente, e independente de
outros aplicações.
A filosofia dessa arquitetura é que o aplicativo seja responsável não
apenas para executar uma determinada tarefa, mas sim para executar
todos os passos necessários para completer uma função específica.
2
PROFESSOR: FABIO TAVARES DIPPOLD
ALUNOS: LUIS MACHADO, OSMAR PETRY, E SERGIO ROIKO
Cetro Universitário Católica Santa Catarina
3
PROFESSOR: FABIO TAVARES DIPPOLD
ALUNOS: LUIS MACHADO, OSMAR PETRY, E SERGIO ROIKO
Cetro Universitário Católica Santa Catarina
Browser Apache
MySQL
Database
ShapingService
InventoryService
Accounting Service
StoreFrontUI
war
Tomcat
A arquitetura microservices
Tem em seu design o objetivo fazer com que o código seja menos
frágil e, fazer com que softwares complexos e de larga escala
mudem.
4
PROFESSOR: FABIO TAVARES DIPPOLD
ALUNOS: LUIS MACHADO, OSMAR PETRY, E SERGIO ROIKO
Cetro Universitário Católica Santa Catarina
História
Uma workshop de arquitetos de software em maio de 2011 em
Venice utilizou o termo "microservice" para descrever o que os
participantes viram como um estilo arquitetônico comum que muitos
deles estiveram recentemente explorando.
Em 2012, Adrian Cockcroft com a Netflix foi pioneiro neste estilo em
uma escala web.
5
PROFESSOR: FABIO TAVARES DIPPOLD
ALUNOS: LUIS MACHADO, OSMAR PETRY, E SERGIO ROIKO
Cetro Universitário Católica Santa Catarina
Vantagens
1. Base de código menor
2. Implementação continua
3. Escalado de forma independente
4. Facilita escalação do desenvolvimento
5. Melhor isolamento de falhas
6. Elimina compromisso de longo prazo com a stack de tecnologia
7. Mais aberta a experimentações
6
PROFESSOR: FABIO TAVARES DIPPOLD
ALUNOS: LUIS MACHADO, OSMAR PETRY, E SERGIO ROIKO
Cetro Universitário Católica Santa Catarina
Desvantagens
1. Maior complexidade do código em sistemas distribuídos
2. Complexidade operacional significativa
3. Requer plano ordenado de implementação de serviços
4. É necessário alto nível de automação
5. Momento deve-se adotar a arquitetura
7
PROFESSOR: FABIO TAVARES DIPPOLD
ALUNOS: LUIS MACHADO, OSMAR PETRY, E SERGIO ROIKO
Cetro Universitário Católica Santa Catarina
8
PROFESSOR: FABIO TAVARES DIPPOLD
ALUNOS: LUIS MACHADO, OSMAR PETRY, E SERGIO ROIKO
Cetro Universitário Católica Santa Catarina
Catalog
UI
Account Management
UI
Order Management
UI
Checkout
UI
Catalog
Service
Oder
Service
Recommendation
Service
Review
Service
Customer
Service
Mecanismos de comunicação
Em uma arquitetura de microservices, os padrões de comunicação
entre clientes e a aplicação, bem como entre os próprios
componentes da aplicação, são diferentes de uma aplicação
monolítica.
Primeiramente, são abordadas as questões de interação entre
clientes e os microservices. Em seguida, são abordados os
mecanismos de comunicação entre microservices
9
PROFESSOR: FABIO TAVARES DIPPOLD
ALUNOS: LUIS MACHADO, OSMAR PETRY, E SERGIO ROIKO
Cetro Universitário Católica Santa Catarina
10
PROFESSOR: FABIO TAVARES DIPPOLD
ALUNOS: LUIS MACHADO, OSMAR PETRY, E SERGIO ROIKO
Cetro Universitário Católica Santa Catarina
Desktop
Client
Mobile
Client
Customer
Service
Order
Service
Recommendation
Service
Review
Service
Catalog
Service
Chamada direta aos serviços
11
PROFESSOR: FABIO TAVARES DIPPOLD
ALUNOS: LUIS MACHADO, OSMAR PETRY, E SERGIO ROIKO
Cetro Universitário Católica Santa Catarina
Customer
Service
Order
Service
Recommendation
Service
Review
Service
Catalog
Service
API Gateway
API Gateway
getProductInfo()
getRecommendations()
getReviews()
getProductDetails()
Desktop
Client
Mobile
Client
Mecanismos de comunicação inter-service
Outra grande diferença da arquitetura de microservices é a forma de
interação entre os diferentes componentes da aplicação.
Em uma aplicação monolítica, componentes comunicam-se através
de chamadas de métodos
Mas em uma arquitetura de microservices, diferentes serviços são
executados em diferentes processos.
Consequentemente, os serviços devem utilizar uma comunicação
entre processos (IPC - inter-process communication)
12
PROFESSOR: FABIO TAVARES DIPPOLD
ALUNOS: LUIS MACHADO, OSMAR PETRY, E SERGIO ROIKO
Cetro Universitário Católica Santa Catarina
13
PROFESSOR: FABIO TAVARES DIPPOLD
ALUNOS: LUIS MACHADO, OSMAR PETRY, E SERGIO ROIKO
Cetro Universitário Católica Santa Catarina
HTTP síncrono
Mensagens Assíncronas
HTTP síncrono
Mensagens Assíncronas
Procura por profissionais
14
PROFESSOR: FABIO TAVARES DIPPOLD
ALUNOS: LUIS MACHADO, OSMAR PETRY, E SERGIO ROIKO
Cetro Universitário Católica Santa Catarina
Casos de sucesso
15
PROFESSOR: FABIO TAVARES DIPPOLD
ALUNOS: LUIS MACHADO, OSMAR PETRY, E SERGIO ROIKO
Cetro Universitário Católica Santa Catarina
Referências
Microservices: Decomposing Applications for Deployability and Scalability -
https://www.infoq.com/articles/microservices-intro
Pattern: Monolithic Architecture - http://microservices.io/patterns/monolithic.html
Pattern: Microservices Architecture - http://microservices.io/patterns/microservices.html
Microservices with Spring - https://spring.io/blog/2015/07/14/microservices-with-spring
Microservices - https://en.wikipedia.org/wiki/Microservices#History
Monolithic application - https://en.wikipedia.org/wiki/Monolithic_application
16
PROFESSOR: FABIO TAVARES DIPPOLD
ALUNOS: LUIS MACHADO, OSMAR PETRY, E SERGIO ROIKO
Cetro Universitário Católica Santa Catarina
17
PROFESSOR: FABIO TAVARES DIPPOLD
ALUNOS: LUIS MACHADO, OSMAR PETRY, E SERGIO ROIKO
Cetro Universitário Católica Santa Catarina
Serviço de compras on-line
Account
Service
Order ServerCart Server
Product
Catalog
Account
DB
Products
DB
Cart
DB
Order
DB
18
PROFESSOR: FABIO TAVARES DIPPOLD
ALUNOS: LUIS MACHADO, OSMAR PETRY, E SERGIO ROIKO
Cetro Universitário Católica Santa Catarina
Web-
Service
Account-
Service
Account
DB
Registration Service
(Eureka)
Register as
“accont-service”
JPA/SQLRESTful Request
Looks for
“account-service”

Weitere ähnliche Inhalte

Was ist angesagt?

Mobisec: Sistema de teste automatizado para analise de segurança em aplicativ...
Mobisec: Sistema de teste automatizado para analise de segurança em aplicativ...Mobisec: Sistema de teste automatizado para analise de segurança em aplicativ...
Mobisec: Sistema de teste automatizado para analise de segurança em aplicativ...Universidade Tiradentes
 
Arquitetando sistemas PHP
Arquitetando sistemas PHPArquitetando sistemas PHP
Arquitetando sistemas PHPEduardo Cesar
 
Brochura Pós-Graduação 5ª edição arcsi Edição 2017
Brochura Pós-Graduação 5ª edição arcsi Edição 2017Brochura Pós-Graduação 5ª edição arcsi Edição 2017
Brochura Pós-Graduação 5ª edição arcsi Edição 2017Filipe Pontes
 
PGRisCo (software para gerenciamento de riscos corporativos)
PGRisCo (software para gerenciamento de riscos corporativos)PGRisCo (software para gerenciamento de riscos corporativos)
PGRisCo (software para gerenciamento de riscos corporativos)Flavio D. Souza
 

Was ist angesagt? (7)

Unidade 4 invasao de so
Unidade 4  invasao de soUnidade 4  invasao de so
Unidade 4 invasao de so
 
Curso de linux
Curso de linuxCurso de linux
Curso de linux
 
Mobisec: Sistema de teste automatizado para analise de segurança em aplicativ...
Mobisec: Sistema de teste automatizado para analise de segurança em aplicativ...Mobisec: Sistema de teste automatizado para analise de segurança em aplicativ...
Mobisec: Sistema de teste automatizado para analise de segurança em aplicativ...
 
Scrum origens
Scrum origensScrum origens
Scrum origens
 
Arquitetando sistemas PHP
Arquitetando sistemas PHPArquitetando sistemas PHP
Arquitetando sistemas PHP
 
Brochura Pós-Graduação 5ª edição arcsi Edição 2017
Brochura Pós-Graduação 5ª edição arcsi Edição 2017Brochura Pós-Graduação 5ª edição arcsi Edição 2017
Brochura Pós-Graduação 5ª edição arcsi Edição 2017
 
PGRisCo (software para gerenciamento de riscos corporativos)
PGRisCo (software para gerenciamento de riscos corporativos)PGRisCo (software para gerenciamento de riscos corporativos)
PGRisCo (software para gerenciamento de riscos corporativos)
 

Ähnlich wie Java microservices | Seminário

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çosThiago Pereira
 
Arquitetura de Microserviços
Arquitetura de MicroserviçosArquitetura de Microserviços
Arquitetura de MicroserviçosNorberto Enomoto
 
Tecnologia badeada e MKicrofrontEnd e dotnet core
Tecnologia badeada e MKicrofrontEnd e dotnet coreTecnologia badeada e MKicrofrontEnd e dotnet core
Tecnologia badeada e MKicrofrontEnd e dotnet coreAlexandroAlves13
 
Arquitetura de Microserviços
Arquitetura de MicroserviçosArquitetura de Microserviços
Arquitetura de MicroserviçosNorberto Enomoto
 
ANÁLISE DO PARADIGMA HÍBRIDO NA INDÚSTRIA DE SOFTWARE
ANÁLISE DO PARADIGMA HÍBRIDO NA INDÚSTRIA DE SOFTWAREANÁLISE DO PARADIGMA HÍBRIDO NA INDÚSTRIA DE SOFTWARE
ANÁLISE DO PARADIGMA HÍBRIDO NA INDÚSTRIA DE SOFTWAREKéllyson Gonçalves da Silva
 
Ruby on Rails como deve ser utilizada e onde - Julio Cartier Maia Gomes
Ruby on Rails como deve ser utilizada e onde - Julio Cartier Maia GomesRuby on Rails como deve ser utilizada e onde - Julio Cartier Maia Gomes
Ruby on Rails como deve ser utilizada e onde - Julio Cartier Maia GomesPotiLivre Sobrenome
 
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 2021Renato Groffe
 
Como DDD e Strategic Design estão nos ajudando a modernizar um Legado
Como DDD e Strategic Design estão nos ajudando a modernizar um LegadoComo DDD e Strategic Design estão nos ajudando a modernizar um Legado
Como DDD e Strategic Design estão nos ajudando a modernizar um LegadoLuiz Costa
 
TechNet - e-Book- Artigos sobre Test Manager
TechNet - e-Book- Artigos sobre Test ManagerTechNet - e-Book- Artigos sobre Test Manager
TechNet - e-Book- Artigos sobre Test ManagerAlan Carlos
 
Dict 2008
Dict 2008Dict 2008
Dict 2008xPopper
 
Programa Estruturante FINEP - Santa Catarina - Grupo Modelagem
Programa Estruturante FINEP - Santa Catarina - Grupo ModelagemPrograma Estruturante FINEP - Santa Catarina - Grupo Modelagem
Programa Estruturante FINEP - Santa Catarina - Grupo ModelagemRoberto C. S. Pacheco
 
Convergência de Arquiteturas de Informação: 6G e Além
Convergência de Arquiteturas de Informação: 6G e AlémConvergência de Arquiteturas de Informação: 6G e Além
Convergência de Arquiteturas de Informação: 6G e AlémAntonio Marcos Alberti
 
As melhores práticas de desenvolvimento de software em fábrica de software
As melhores práticas de desenvolvimento de software em fábrica de softwareAs melhores práticas de desenvolvimento de software em fábrica de software
As melhores práticas de desenvolvimento de software em fábrica de softwareRafael Souza
 
O uso de frameworks em aplicações desktop baseadas na metodologia de desenvol...
O uso de frameworks em aplicações desktop baseadas na metodologia de desenvol...O uso de frameworks em aplicações desktop baseadas na metodologia de desenvol...
O uso de frameworks em aplicações desktop baseadas na metodologia de desenvol...Rogério Batista
 

Ähnlich wie Java microservices | Seminário (20)

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
 
Tecnologia badeada e MKicrofrontEnd e dotnet core
Tecnologia badeada e MKicrofrontEnd e dotnet coreTecnologia badeada e MKicrofrontEnd e dotnet core
Tecnologia badeada e MKicrofrontEnd e dotnet core
 
Arquitetura de Microserviços
Arquitetura de MicroserviçosArquitetura de Microserviços
Arquitetura de Microserviços
 
ANÁLISE DO PARADIGMA HÍBRIDO NA INDÚSTRIA DE SOFTWARE
ANÁLISE DO PARADIGMA HÍBRIDO NA INDÚSTRIA DE SOFTWAREANÁLISE DO PARADIGMA HÍBRIDO NA INDÚSTRIA DE SOFTWARE
ANÁLISE DO PARADIGMA HÍBRIDO NA INDÚSTRIA DE SOFTWARE
 
Microservices
MicroservicesMicroservices
Microservices
 
Ruby on Rails como deve ser utilizada e onde - Julio Cartier Maia Gomes
Ruby on Rails como deve ser utilizada e onde - Julio Cartier Maia GomesRuby on Rails como deve ser utilizada e onde - Julio Cartier Maia Gomes
Ruby on Rails como deve ser utilizada e onde - Julio Cartier Maia Gomes
 
Ruby on rails como deve ser utilizada e onde
Ruby on rails como deve ser utilizada e ondeRuby on rails como deve ser utilizada e onde
Ruby on rails como deve ser utilizada e onde
 
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
 
Como DDD e Strategic Design estão nos ajudando a modernizar um Legado
Como DDD e Strategic Design estão nos ajudando a modernizar um LegadoComo DDD e Strategic Design estão nos ajudando a modernizar um Legado
Como DDD e Strategic Design estão nos ajudando a modernizar um Legado
 
JUGVale 14 - 14/09/2019
JUGVale 14 - 14/09/2019JUGVale 14 - 14/09/2019
JUGVale 14 - 14/09/2019
 
TechNet - e-Book- Artigos sobre Test Manager
TechNet - e-Book- Artigos sobre Test ManagerTechNet - e-Book- Artigos sobre Test Manager
TechNet - e-Book- Artigos sobre Test Manager
 
Dict 2008
Dict 2008Dict 2008
Dict 2008
 
Dict 2008
Dict 2008Dict 2008
Dict 2008
 
Monografia-Devops
Monografia-DevopsMonografia-Devops
Monografia-Devops
 
Aula01 introducao
Aula01 introducaoAula01 introducao
Aula01 introducao
 
Programa Estruturante FINEP - Santa Catarina - Grupo Modelagem
Programa Estruturante FINEP - Santa Catarina - Grupo ModelagemPrograma Estruturante FINEP - Santa Catarina - Grupo Modelagem
Programa Estruturante FINEP - Santa Catarina - Grupo Modelagem
 
Convergência de Arquiteturas de Informação: 6G e Além
Convergência de Arquiteturas de Informação: 6G e AlémConvergência de Arquiteturas de Informação: 6G e Além
Convergência de Arquiteturas de Informação: 6G e Além
 
As melhores práticas de desenvolvimento de software em fábrica de software
As melhores práticas de desenvolvimento de software em fábrica de softwareAs melhores práticas de desenvolvimento de software em fábrica de software
As melhores práticas de desenvolvimento de software em fábrica de software
 
O uso de frameworks em aplicações desktop baseadas na metodologia de desenvol...
O uso de frameworks em aplicações desktop baseadas na metodologia de desenvol...O uso de frameworks em aplicações desktop baseadas na metodologia de desenvol...
O uso de frameworks em aplicações desktop baseadas na metodologia de desenvol...
 

Mehr von Osmar Petry

Testes em integração contínua
Testes em integração contínuaTestes em integração contínua
Testes em integração contínuaOsmar Petry
 
Biblioteca React-Query
Biblioteca React-QueryBiblioteca React-Query
Biblioteca React-QueryOsmar Petry
 
Publicar pacote NPM na Zup
Publicar pacote NPM na ZupPublicar pacote NPM na Zup
Publicar pacote NPM na ZupOsmar Petry
 
Introdução ao React
Introdução ao ReactIntrodução ao React
Introdução ao ReactOsmar Petry
 
Observables RXJS
Observables RXJSObservables RXJS
Observables RXJSOsmar Petry
 
Aulão (iniciante) de programação com Clojure
Aulão (iniciante) de programação com ClojureAulão (iniciante) de programação com Clojure
Aulão (iniciante) de programação com ClojureOsmar Petry
 
Aulão (iniciante) de Clojure REST
Aulão (iniciante) de Clojure RESTAulão (iniciante) de Clojure REST
Aulão (iniciante) de Clojure RESTOsmar Petry
 
Aulão (iniciante) de programação funcional
Aulão (iniciante) de programação funcionalAulão (iniciante) de programação funcional
Aulão (iniciante) de programação funcionalOsmar Petry
 
Matemática discreta: Código de Hamming
Matemática discreta: Código de HammingMatemática discreta: Código de Hamming
Matemática discreta: Código de HammingOsmar Petry
 
Probabilidade e Estatística: Regressão linear, quadrática e exponencial
Probabilidade e Estatística: Regressão linear, quadrática e exponencialProbabilidade e Estatística: Regressão linear, quadrática e exponencial
Probabilidade e Estatística: Regressão linear, quadrática e exponencialOsmar Petry
 
Matemática computacional: Cálculo de áreas usando integrais
Matemática computacional: Cálculo de áreas usando integraisMatemática computacional: Cálculo de áreas usando integrais
Matemática computacional: Cálculo de áreas usando integraisOsmar Petry
 
Gerenciamento de continuidade e disponibilidade na ITIL v3 2011 (versão atual)
Gerenciamento de continuidade e disponibilidade na ITIL v3 2011 (versão atual)Gerenciamento de continuidade e disponibilidade na ITIL v3 2011 (versão atual)
Gerenciamento de continuidade e disponibilidade na ITIL v3 2011 (versão atual)Osmar Petry
 
Gestão de conhecimento
Gestão de conhecimentoGestão de conhecimento
Gestão de conhecimentoOsmar Petry
 
Ferramenta Ghost CMS
Ferramenta Ghost CMSFerramenta Ghost CMS
Ferramenta Ghost CMSOsmar Petry
 
Process mining process discovery and prediction
Process mining process discovery and predictionProcess mining process discovery and prediction
Process mining process discovery and predictionOsmar Petry
 
Integração contínua com Maven e Jenkins
Integração contínua com Maven e JenkinsIntegração contínua com Maven e Jenkins
Integração contínua com Maven e JenkinsOsmar Petry
 

Mehr von Osmar Petry (20)

Testes em integração contínua
Testes em integração contínuaTestes em integração contínua
Testes em integração contínua
 
Biblioteca React-Query
Biblioteca React-QueryBiblioteca React-Query
Biblioteca React-Query
 
Publicar pacote NPM na Zup
Publicar pacote NPM na ZupPublicar pacote NPM na Zup
Publicar pacote NPM na Zup
 
Introdução ao React
Introdução ao ReactIntrodução ao React
Introdução ao React
 
Observables RXJS
Observables RXJSObservables RXJS
Observables RXJS
 
Flutter
FlutterFlutter
Flutter
 
Design Tokens
Design TokensDesign Tokens
Design Tokens
 
Design Patterns
Design PatternsDesign Patterns
Design Patterns
 
Aulão (iniciante) de programação com Clojure
Aulão (iniciante) de programação com ClojureAulão (iniciante) de programação com Clojure
Aulão (iniciante) de programação com Clojure
 
Aulão (iniciante) de Clojure REST
Aulão (iniciante) de Clojure RESTAulão (iniciante) de Clojure REST
Aulão (iniciante) de Clojure REST
 
Aulão (iniciante) de programação funcional
Aulão (iniciante) de programação funcionalAulão (iniciante) de programação funcional
Aulão (iniciante) de programação funcional
 
Matemática discreta: Código de Hamming
Matemática discreta: Código de HammingMatemática discreta: Código de Hamming
Matemática discreta: Código de Hamming
 
Probabilidade e Estatística: Regressão linear, quadrática e exponencial
Probabilidade e Estatística: Regressão linear, quadrática e exponencialProbabilidade e Estatística: Regressão linear, quadrática e exponencial
Probabilidade e Estatística: Regressão linear, quadrática e exponencial
 
Matemática computacional: Cálculo de áreas usando integrais
Matemática computacional: Cálculo de áreas usando integraisMatemática computacional: Cálculo de áreas usando integrais
Matemática computacional: Cálculo de áreas usando integrais
 
Gerenciamento de continuidade e disponibilidade na ITIL v3 2011 (versão atual)
Gerenciamento de continuidade e disponibilidade na ITIL v3 2011 (versão atual)Gerenciamento de continuidade e disponibilidade na ITIL v3 2011 (versão atual)
Gerenciamento de continuidade e disponibilidade na ITIL v3 2011 (versão atual)
 
Gestão de conhecimento
Gestão de conhecimentoGestão de conhecimento
Gestão de conhecimento
 
Raspberry PI
Raspberry PIRaspberry PI
Raspberry PI
 
Ferramenta Ghost CMS
Ferramenta Ghost CMSFerramenta Ghost CMS
Ferramenta Ghost CMS
 
Process mining process discovery and prediction
Process mining process discovery and predictionProcess mining process discovery and prediction
Process mining process discovery and prediction
 
Integração contínua com Maven e Jenkins
Integração contínua com Maven e JenkinsIntegração contínua com Maven e Jenkins
Integração contínua com Maven e Jenkins
 

Java microservices | Seminário

  • 1. Java – Microservices PROFESSOR: FABIO TAVARES DIPPOLD ALUNOS: LUIS MACHADO, OSMAR PETRY, E SERGIO ROIKO Centro Universitário - Católica de Santa Catarina
  • 2. A arquitetura monolítica Uma aplicacação monolítica é auto-sulficiente, e independente de outros aplicações. A filosofia dessa arquitetura é que o aplicativo seja responsável não apenas para executar uma determinada tarefa, mas sim para executar todos os passos necessários para completer uma função específica. 2 PROFESSOR: FABIO TAVARES DIPPOLD ALUNOS: LUIS MACHADO, OSMAR PETRY, E SERGIO ROIKO Cetro Universitário Católica Santa Catarina
  • 3. 3 PROFESSOR: FABIO TAVARES DIPPOLD ALUNOS: LUIS MACHADO, OSMAR PETRY, E SERGIO ROIKO Cetro Universitário Católica Santa Catarina Browser Apache MySQL Database ShapingService InventoryService Accounting Service StoreFrontUI war Tomcat
  • 4. A arquitetura microservices Tem em seu design o objetivo fazer com que o código seja menos frágil e, fazer com que softwares complexos e de larga escala mudem. 4 PROFESSOR: FABIO TAVARES DIPPOLD ALUNOS: LUIS MACHADO, OSMAR PETRY, E SERGIO ROIKO Cetro Universitário Católica Santa Catarina
  • 5. História Uma workshop de arquitetos de software em maio de 2011 em Venice utilizou o termo "microservice" para descrever o que os participantes viram como um estilo arquitetônico comum que muitos deles estiveram recentemente explorando. Em 2012, Adrian Cockcroft com a Netflix foi pioneiro neste estilo em uma escala web. 5 PROFESSOR: FABIO TAVARES DIPPOLD ALUNOS: LUIS MACHADO, OSMAR PETRY, E SERGIO ROIKO Cetro Universitário Católica Santa Catarina
  • 6. Vantagens 1. Base de código menor 2. Implementação continua 3. Escalado de forma independente 4. Facilita escalação do desenvolvimento 5. Melhor isolamento de falhas 6. Elimina compromisso de longo prazo com a stack de tecnologia 7. Mais aberta a experimentações 6 PROFESSOR: FABIO TAVARES DIPPOLD ALUNOS: LUIS MACHADO, OSMAR PETRY, E SERGIO ROIKO Cetro Universitário Católica Santa Catarina
  • 7. Desvantagens 1. Maior complexidade do código em sistemas distribuídos 2. Complexidade operacional significativa 3. Requer plano ordenado de implementação de serviços 4. É necessário alto nível de automação 5. Momento deve-se adotar a arquitetura 7 PROFESSOR: FABIO TAVARES DIPPOLD ALUNOS: LUIS MACHADO, OSMAR PETRY, E SERGIO ROIKO Cetro Universitário Católica Santa Catarina
  • 8. 8 PROFESSOR: FABIO TAVARES DIPPOLD ALUNOS: LUIS MACHADO, OSMAR PETRY, E SERGIO ROIKO Cetro Universitário Católica Santa Catarina Catalog UI Account Management UI Order Management UI Checkout UI Catalog Service Oder Service Recommendation Service Review Service Customer Service
  • 9. Mecanismos de comunicação Em uma arquitetura de microservices, os padrões de comunicação entre clientes e a aplicação, bem como entre os próprios componentes da aplicação, são diferentes de uma aplicação monolítica. Primeiramente, são abordadas as questões de interação entre clientes e os microservices. Em seguida, são abordados os mecanismos de comunicação entre microservices 9 PROFESSOR: FABIO TAVARES DIPPOLD ALUNOS: LUIS MACHADO, OSMAR PETRY, E SERGIO ROIKO Cetro Universitário Católica Santa Catarina
  • 10. 10 PROFESSOR: FABIO TAVARES DIPPOLD ALUNOS: LUIS MACHADO, OSMAR PETRY, E SERGIO ROIKO Cetro Universitário Católica Santa Catarina Desktop Client Mobile Client Customer Service Order Service Recommendation Service Review Service Catalog Service Chamada direta aos serviços
  • 11. 11 PROFESSOR: FABIO TAVARES DIPPOLD ALUNOS: LUIS MACHADO, OSMAR PETRY, E SERGIO ROIKO Cetro Universitário Católica Santa Catarina Customer Service Order Service Recommendation Service Review Service Catalog Service API Gateway API Gateway getProductInfo() getRecommendations() getReviews() getProductDetails() Desktop Client Mobile Client
  • 12. Mecanismos de comunicação inter-service Outra grande diferença da arquitetura de microservices é a forma de interação entre os diferentes componentes da aplicação. Em uma aplicação monolítica, componentes comunicam-se através de chamadas de métodos Mas em uma arquitetura de microservices, diferentes serviços são executados em diferentes processos. Consequentemente, os serviços devem utilizar uma comunicação entre processos (IPC - inter-process communication) 12 PROFESSOR: FABIO TAVARES DIPPOLD ALUNOS: LUIS MACHADO, OSMAR PETRY, E SERGIO ROIKO Cetro Universitário Católica Santa Catarina
  • 13. 13 PROFESSOR: FABIO TAVARES DIPPOLD ALUNOS: LUIS MACHADO, OSMAR PETRY, E SERGIO ROIKO Cetro Universitário Católica Santa Catarina HTTP síncrono Mensagens Assíncronas HTTP síncrono Mensagens Assíncronas
  • 14. Procura por profissionais 14 PROFESSOR: FABIO TAVARES DIPPOLD ALUNOS: LUIS MACHADO, OSMAR PETRY, E SERGIO ROIKO Cetro Universitário Católica Santa Catarina
  • 15. Casos de sucesso 15 PROFESSOR: FABIO TAVARES DIPPOLD ALUNOS: LUIS MACHADO, OSMAR PETRY, E SERGIO ROIKO Cetro Universitário Católica Santa Catarina
  • 16. Referências Microservices: Decomposing Applications for Deployability and Scalability - https://www.infoq.com/articles/microservices-intro Pattern: Monolithic Architecture - http://microservices.io/patterns/monolithic.html Pattern: Microservices Architecture - http://microservices.io/patterns/microservices.html Microservices with Spring - https://spring.io/blog/2015/07/14/microservices-with-spring Microservices - https://en.wikipedia.org/wiki/Microservices#History Monolithic application - https://en.wikipedia.org/wiki/Monolithic_application 16 PROFESSOR: FABIO TAVARES DIPPOLD ALUNOS: LUIS MACHADO, OSMAR PETRY, E SERGIO ROIKO Cetro Universitário Católica Santa Catarina
  • 17. 17 PROFESSOR: FABIO TAVARES DIPPOLD ALUNOS: LUIS MACHADO, OSMAR PETRY, E SERGIO ROIKO Cetro Universitário Católica Santa Catarina Serviço de compras on-line Account Service Order ServerCart Server Product Catalog Account DB Products DB Cart DB Order DB
  • 18. 18 PROFESSOR: FABIO TAVARES DIPPOLD ALUNOS: LUIS MACHADO, OSMAR PETRY, E SERGIO ROIKO Cetro Universitário Católica Santa Catarina Web- Service Account- Service Account DB Registration Service (Eureka) Register as “accont-service” JPA/SQLRESTful Request Looks for “account-service”

Hinweis der Redaktion

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18