Sistema onde ocorre comunicação assíncrona entre microsserviços usando o Kafka.
- Spring Boot
- Apache Kafka
- H2 Database
- Java 21
- Maven
- Docker
sequenceDiagram
autonumber
participant U as Usuário
participant O as Order Service
participant K as Kafka
participant N as Notification Service
participant D1 as Order DB
participant D2 as Notification DB
U->>O: POST /api/orders
O->>D1: Salva pedido
O->>K: Publica mensagem
K->>N: Consome mensagem
N->>D2: Salva notificação
N->>N: Exibe Mensagem no terminal
git clone https://github.com/patrickmartx/Order-Notification-Message-System.gitcd Order-Notification-Message-System
docker-compose up -dcd order-service && mvn spring-boot:runcd notification-service && mvn spring-boot:runcurl --location 'localhost:8081/api/v1/orders' \
--data '{
"productName":"Chocolate",
"quantity":2
}'Database
- Console do banco de dados H2 de Pedidos: http://localhost:8081/h2-console
JDBC URL:jdbc:h2:mem:orderdb - Console do banco de dados H2 de Notificações: http://localhost:8082/h2-console
JDBC URL:jdbc:h2:mem:notificationdb
Kafka Ui
- Interface do kafka: http://localhost:8080/