Projeto desenvolvido para estudar arquitetura de microsserviços e comunicação assíncrona utilizando Spring Boot e Apache Kafka.
A aplicação é composta por dois microsserviços:
- Order Service: recebe pedidos e publica eventos no Kafka.
- Inventory Service: consome os eventos e atualiza o estoque dos produtos armazenados no PostgreSQL.
- Java 21
- Spring Boot
- Apache Kafka
- Spring Data JPA
- PostgreSQL
- Docker Compose
- Maven
Cliente
│
▼
Order Service
│
│ Publica Evento
▼
Apache Kafka
│
│ Consome Evento
▼
Inventory Service
│
▼
PostgreSQL
docker compose up -dEm seguida, inicie as aplicações:
order-serviceinventory-service
Ao criar um pedido no Order Service, um evento OrderCreatedEvent é publicado no Kafka. O Inventory Service consome esse evento e atualiza automaticamente a quantidade disponível em estoque.