Use o código BLACKFRIDAY2024 e tenha 25% de desconto! Válido até 29/11/2024
Back-end Java Microsserviços, Spring Boot e Kubernetes
Eduardo Felipe Zambom SantanaSobre 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.