A arquitetura de microservices tornou-se uma abordagem popular para a construção de aplicativos escaláveis e mantendíveis. Para desenvolvedores Java, Spring Boot oferece uma maneira simplificada de criar microservices que podem ser facilmente containerizados usando Docker. Este artigo guia você através do processo de criação de microservices Dockerized com Spring Boot.

Pré-requisitos

  • Java Development Kit (JDK) 11 ou superior
  • Framework de inicialização da primavera
  • Acoplamento instalado na sua máquina
  • Conhecimento básico da Java e da Spring Boot

Criar um Microservice de inicialização de primavera

Comece criando um novo projeto de inicialização de primavera usando seu IDE ou Inicializador de Primavera preferido (https://start.spring.io/). Inclua dependências como Spring Web e Spring Data JPA conforme necessário.

Defina sua classe principal de aplicativos e crie controladores REST para lidar com solicitações HTTP. Por exemplo, um simples serviço "Hello World" pode ser implementado da seguinte forma:

Exemplo Controlador:

src/main/java/com/exemplo/demo/HelloController.java

Criando um arquivo de Docker

No diretório raiz do seu projeto, crie um arquivo chamado . Este arquivo define como sua aplicação será cômoda.

[[FLT: 0]]Exemplo do arquivo Docker:

Construindo e executando o recipiente Docker

Primeiro, crie seu aplicativo Spring Boot usando Maven ou Gradle para gerar o arquivo JAR:

Para Maven:]

Em seguida, compilar a imagem Docker:

[[FLT: 0]]Executa no terminal:

Finalmente, execute o recipiente Docker:

Testando o Microservice

Acesse o seu microservice navegando para http://localhost:8080/hello no seu navegador web. Você deve ver a mensagem:

Olá do Microservice de boot de primavera dockerized!

Conclusão

Containerização de microservices de inicialização de primavera com Docker simplifica a implantação e escala. Seguindo essas etapas, os desenvolvedores Java podem criar, empacotar e executar microservices de forma eficiente em ambientes isolados, tornando suas aplicações mais portáteis e gerenciáveis.