Java microservices | Seminário

47 visualizações

Publicada em

Seminário desenvolvido no quarto semestre do curso de B. Sistemas de Informação, na matéria de Programação 4 mestrada por Fábio Dippold.

Publicada em: Software
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
47
No SlideShare
0
A partir de incorporações
0
Número de incorporações
2
Ações
Compartilhamentos
0
Downloads
0
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • Java microservices | Seminário

    1. 1. Java – Microservices PROFESSOR: FABIO TAVARES DIPPOLD ALUNOS: LUIS MACHADO, OSMAR PETRY, E SERGIO ROIKO Centro Universitário - Católica de Santa Catarina
    2. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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”

    ×