Começou!
00

DIAS

00

HRS

00

MIN

00

SEG

Compre agora com desconto

Use o código BLACKFRIDAY2024 e tenha 25% de desconto! Válido até 29/11/2024

Aproveite todo o site com 25% de desconto!

Back-end Java Microsserviços, Spring Boot e Kubernetes

Eduardo Felipe Zambom Santana

*Você terá acesso às futuras atualizações do livro.

Sobre o livro

A arquitetura dos sistemas de software vem sofrendo diversas revoluções nos últimos anos, começando com os grandes monólitos, que dificultavam bastante a manutenção e a evolução das aplicações, passando pela arquitetura orientada a serviços, que era bastante dependente de arquivos XML de configuração, até chegar à arquitetura de microsserviços, que tenta resolver (ou minimizar) alguns dos vários problemas que as arquiteturas de software anteriores possuíam.

Diversas tecnologias têm surgido para o desenvolvimento de aplicações baseadas em microsserviços para a plataforma Java e, sem dúvida, o framework mais conhecido e utilizado atualmente para esse fim é o Spring Boot. O objetivo do Spring Boot é diminuir a quantidade de configurações necessárias para o desenvolvimento de aplicações. Nele, é possível utilizar diversos frameworks e bibliotecas para a construção rápida de microsserviços, com diferentes funcionalidades, como desenvolvimento de APIs REST, comunicação entre serviços e segurança.

Porém, na arquitetura de microsserviços, é mais complicado executar uma aplicação inteira, tanto em um ambiente local quanto em um ambiente de produção, pois é necessário executar e configurar todos os serviços e permitir que eles se comuniquem. Existem diversas ferramentas que facilitam essas tarefas, sendo as duas principais o Docker, para a criação de contêineres, e o Kubernetes, para a criação de clusters que executam esses contêineres Docker.

Atualmente, é essencial que um desenvolvedor ou desenvolvedora back-end conheça, além da linguagem de programação que vai utilizar, algumas dessas ferramentas para a execução da aplicação em um ambiente de produção. Embora seja possível desenvolver e executar os microsserviços separadamente em sua máquina, isso não é o ideal, pois não se terá um ambiente próximo do real para testar a aplicação.

Este livro vai mostrar como desenvolver uma aplicação baseada em microsserviços utilizando o Spring Boot, como criar imagens Docker dos serviços desenvolvidos e, por fim, como executar a aplicação no Kubernetes.

Para quem é este livro?

Este livro foi escrito principalmente para quem já tem conhecimento na linguagem Java e deseja começar a trabalhar com desenvolvimento back-end nessa linguagem com o framework Spring. Também poderá ser bastante útil para desenvolvedores web que estão começando a trabalhar com APIs e com a arquitetura de microsserviços. Para quem já trabalha com back-end, serão proveitosas a explicação sobre o Kubernetes e a demonstração de como configurar um cluster Kubernetes para o ambiente de desenvolvimento.

Estrutura do livro

O livro é dividido em duas partes. A primeira, do capítulo 2 ao 12, mostra o desenvolvimento de uma aplicação de microsserviços com o Spring Boot. A aplicação é formada por três microsserviços, chamados de user-api, product-api e shopping-api, que terão as responsabilidades de gerenciar usuários, produtos e compras. O capítulo 2 apresentará o ambiente de programação utilizado; os capítulos de 3 a 7 mostrarão a criação dos microsserviços; o capítulo 8 apresentará a comunicação entre os serviços; o capítulo 9 fará o tratamento dos erros nas aplicações; o capítulo 10 mostrará um mecanismo de autenticação nos serviços; o capítulo 11 mostrará como criar testes de unidade em aplicações Spring; e o capítulo 12 mostrará como criar um api-gateway com o Spring-Cloud.

A segunda parte do livro, que vai do capítulo 13 ao 17, mostra como criar o cluster Kubernetes na máquina de desenvolvimento. O capítulo 13 mostra como criar as imagens Docker com os microsserviços desenvolvidos; o capítulo 14 apresenta os principais conceitos do Kubernetes; o 15 mostra como instalar a ferramenta no ambiente local; finalmente, os capítulos 16 e 17 fazem as configurações finais para executar as aplicações no cluster.

Atualizações da nova versão do livro

Esta é a segunda versão deste livro. As principais modificações em relação à primeira versão são:

- Atualização do Spring Boot em todas as aplicações, da versão 2.3.0.RELEASE para a 3.0.0;

- Atualização do Java em todas as aplicações, da versão 8 para a 17;

- Atualização da versão do Kubernetes, da versão 1.16 para 1.22;

- Melhorias gerais em todas as aplicações;

- Utilização do Lombok nas aplicações;

- Adição dos testes de unidade no capítulo 11;

- Adição do projeto do api-gateway no capítulo 12.

Sumário

  • 1 Introdução
    • 1.1 Framework Spring
    • 1.2 Kubernetes
    • 1.3 Lombok
  • 2 Instalando o ambiente
  • 3 Criando os primeiros serviços
    • 3.1 Hello World com o Spring Boot
    • 3.2 Serviço de Usuários (user-api)
  • 4 Serviço de usuários (user-api)
    • 4.1 Configuração do Spring Data nos serviços
    • 4.2 Camada de dados (Repository)
    • 4.3 Camada de serviços (Service)
    • 4.4 Camada dos controladores (Controllers)
  • 5 Serviço de produtos (product-api)
    • 5.1 Camada de dados (Repository)
    • 5.2 Camada de serviços (Service)
    • 5.3 Camada dos controladores (Controllers)
    • 5.4 Testando os serviços
  • 6 Serviço de compras (shopping-api)
    • 6.1 Camada de dados (Repository)
    • 6.2 Camada de serviços (Service)
    • 6.3 Camada dos controladores (Controllers)
    • 6.4 Testando os serviços
  • 7 Buscas mais complexas na shopping-api
    • 7.1 Implementando as consultas
    • 7.2 Camada de serviços (Service)
    • 7.3 Camada dos controladores (Controllers)
    • 7.4 Testando os serviços
  • 8 Comunicação entre os serviços
    • 8.1 Reutilizando DTOs
    • 8.2 Mudanças nos projetos
    • 8.3 Comunicação entre os serviços
  • 9 Exceções
    • 9.1 Criando as exceções
    • 9.2 Implementando as exceções na user-api
    • 9.3 Implementando as exceções na product-api
    • 9.4 Implementando as exceções na shopping-api
  • 10 Autenticação
    • 10.1 Gerando o UUID na user-api
    • 10.2 Validando o usuário na shopping-api
  • 11 Testes de unidade
    • 11.1 Configuração
    • 11.2 User-api
    • 11.3 Shopping-api
    • 11.4 Cobertura de Código
  • 12 Api-gateway
    • 12.1 Configuração
    • 12.2 Implementação
  • 13 Executando a aplicação com Docker
    • 13.1 Adaptando as aplicações para o Docker
    • 13.2 Shopping-api
    • 13.3 Api-gateway
    • 13.4 Configurando nossas aplicações para utilizar o Docker
    • 13.5 Rodando as aplicações com docker-compose
  • 14 Kubernetes
    • 14.1 Deployments e Pods
    • 14.2 Services
    • 14.3 Config Maps
    • 14.4 Autenticação
  • 15 Instalando o Kubernetes
    • 15.1 Instalando o kubectl
    • 15.2 Instalando o Kubernetes Dashboard
    • 15.3 Subindo o Postgres no cluster
  • 16 Implantando as aplicações no Kubernetes
    • 16.1 User-api e product-api
    • 16.2 Shopping-api
  • 17 Acesso externo ao cluster
    • 17.1 Nginx
    • 17.2 Ingress
    • 17.3 Outros comandos do Kubectl

Dados do produto

Número de páginas:
184
ISBN:
978-65-86110-61-6
Data publicação:
03/2021. Atualizado em 01/2023.

Compartilhe!

Compartilhe no Facebook Compartilhe no Twitter

*Você terá acesso às futuras atualizações do livro.