Este projeto é uma base para construção de microsserviços utilizando Java e Spring Boot. Ele está dividido em dois serviços principais:
- Product Service: Gerencia produtos e estoque.
- Order Service: Gerencia pedidos e realiza comunicação com o serviço de produtos via RabbitMQ.
microservice-initial/
├── product/ # Microsserviço de produtos
└── orders/ # Microsserviço de pedidos
Cada microsserviço é independente e possui sua própria estrutura de projeto, incluindo:
- Spring Boot
- Maven
- RabbitMQ para comunicação assíncrona
- Banco de dados
- Java 17
- Spring Boot
- Spring Data JPA
- RabbitMQ
- Maven
- Lombok
- JUnit
A comunicação entre os microsserviços é feita via RabbitMQ, permitindo que o serviço de pedidos envie mensagens ao serviço de produtos para atualizar o estoque após a criação de um pedido.
- Java 17+
- Maven
- RabbitMQ
-
Clone o repositório:
git clone https://github.com/vit0ur/microservice-initial.git
-
Inicie o RabbitMQ (via Docker):
docker run -d --hostname rabbitmq --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:3-management
-
Navegue até cada microsserviço e execute:
cd product mvn spring-boot:runcd orders mvn spring-boot:run
Cada serviço possui seus próprios endpoints REST. Exemplos:
GET /productsPOST /products
GET /ordersPOST /orders(envia mensagem para atualizar estoque)