Plataforma escalável de processamento de pagamentos baseada em arquitetura de microsserviços, projetada com foco em consistência eventual, resiliência e alta disponibilidade.
O projeto foi desenvolvido para resolver desafios críticos em sistemas distribuídos de missão crítica, implementando os seguintes padrões:
- Saga Pattern (Coreografia): Gerenciamento de transações distribuídas entre os serviços de pagamento e notificação sem o uso de Two-Phase Commit (2PC), garantindo escalabilidade.
- Transactional Outbox: Garantia de entrega de mensagens (At-least-once delivery), assegurando que o estado do banco de dados e os eventos do Kafka estejam sempre sincronizados.
- Idempotency Pattern: Implementação de chaves de idempotência via Redis para prevenir processamentos duplicados em cenários de instabilidade de rede ou retentativas.
- API Gateway: Ponto único de entrada para roteamento, balanceamento de carga e segurança perimetral.
| Camada | Tecnologia |
|---|---|
| Backend | Java 21, Spring Boot 3.2, Spring Data JPA |
| Segurança | Spring Security, OAuth2, JWT |
| Mensageria | Apache Kafka (Event Backbone) |
| Bancos de Dados | PostgreSQL (Relacional), Redis (Cache/Idempotência) |
| Resiliência | Resilience4j (Circuit Breaker, Retry, Rate Limiter) |
| Observabilidade | Micrometer, Zipkin, Prometheus, Grafana |
| Infraestrutura | Docker, Docker Compose |
- Auth Service: Provedor de identidade e emissão de tokens de acesso.
- Payment Service: Orquestrador do ciclo de vida dos pagamentos e gerenciamento de transações.
- Notification Service: Consumidor de eventos para processamento de comunicações externas.
- API Gateway: Filtro de autenticação e roteamento inteligente.
Para garantir a confiabilidade da plataforma em produção:
- Distributed Tracing: Implementado com Micrometer e Zipkin para rastreamento de requisições end-to-end.
- Circuit Breaker: Proteção contra falhas em cascata utilizando Resilience4j, permitindo o funcionamento degradado do sistema em caso de indisponibilidade de dependências.
- Health Checks: Monitoramento em tempo real via Spring Boot Actuator exposto para o Prometheus.
- Docker & Docker Compose
- JDK 21
- Maven 3.9.x
- Clone o repositório:
git clone [https://github.com/seu-usuario/payment-platform.git](https://github.com/seu-usuario/payment-platform.git)
cd payment-platform- Suba a infraestrutura necessária (Kafka, Postgres, Redis, Zipkin):
docker-compose -f docker/docker-compose.yml up -d- Compile e instale os módulos:
mvn clean install- Execute os serviços através da sua IDE ou via terminal em cada diretório de módulo.
Desenvolvido com foco em boas práticas de engenharia de software e padrões de sistemas distribuídos.