https://github.com/v1ct0rsb/phoenix
https://github.com/v1ct0rsb/phoenix
api-rest java microservice rabbit spring-boot
Last synced: 4 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/v1ct0rsb/phoenix
- Owner: V1ct0rSb
- License: mit
- Created: 2025-09-02T13:28:03.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2025-09-02T13:44:36.000Z (4 months ago)
- Last Synced: 2025-09-02T15:35:57.248Z (4 months ago)
- Topics: api-rest, java, microservice, rabbit, spring-boot
- Language: Java
- Homepage:
- Size: 31.3 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 🚀 Projeto de Estudo: Microservices com Spring Boot e RabbitMQ
Este repositório contém o código-fonte de um projeto de estudo focado em **arquitetura de microserviços**, utilizando **Java com Spring Boot** para os serviços e **RabbitMQ** como *message broker* para a comunicação assíncrona.
O projeto simula um **sistema de e-commerce simples**, dividido em dois serviços independentes:
- **Serviço Phoenix**: Responsável pela lógica de negócio principal, como gerenciamento de usuários e pedidos.
- **Serviço Email**: Responsável por consumir eventos e enviar notificações por email.
---
## 🎯 Objetivo
O principal objetivo deste projeto é demonstrar na prática os seguintes conceitos:
✅ **Desacoplamento** – Serviços que operam de forma independente.
✅ **Comunicação Assíncrona** – Uso de filas (RabbitMQ) para evitar bloqueios e dependências diretas.
✅ **Resiliência** – O sistema continua operando mesmo que um dos serviços esteja temporariamente indisponível.
✅ **Escalabilidade** – A arquitetura permite que os serviços sejam escalados de forma independente.
---
## 🏛️ Arquitetura
A comunicação entre os serviços é feita de forma **assíncrona** através do **RabbitMQ**.
- **Serviço Phoenix (Producer)**: Publica mensagens em filas sempre que um evento relevante ocorre (ex: novo cadastro, pedido criado).
- **Serviço Email (Consumer)**: Escuta as filas e processa as mensagens para enviar notificações.