{"repo":"ryan-mant/payment-service","free":true,"listed":false,"github":"https://github.com/ryan-mant/payment-service","clone":"git clone https://github.com/ryan-mant/payment-service.git","description":"Resilient Payment Gateway built with Java 21, Spring Boot 3 & Docker. Features Event-Driven Microservices, Circuit Breaker pattern, and full Observability (Grafana/Prometheus) optimized for AWS Free Tier.","language":"Java","stars":11,"topics":["aws","docker","grafana","java","microservices","payment-gateway","prometheus","rabbitmq","resilience4j","spring-boot"],"license":null,"category":"analytics","readme_excerpt":"🛡️ Resilient Payment Gateway Status: ✅ Concluído (Fase 5) Arquitetura: Microsserviços Event-Driven Foco: Alta Concorrência, Resiliência, Observabilidade e Otimização de Recursos (AWS Free Tier). --- 🎯 Contexto do Projeto Este é um sistema de Core Banking distribuído, desenvolvido para processar transações financeiras com alta disponibilidade e observabilidade, rodando sob restrições severas de recursos (AWS Free Tier - 1GB RAM). O objetivo principal é manter o código limpo, garantir a cobertura de testes e manter a eficiência de recursos para que o deploy na nuvem permaneça estável. --- 🏗️ Arquitetura O sistema segue uma arquitetura de Microsserviços Event-Driven : 1. Core Banking Service (Producer): Responsável por gestão de carteiras (Wallets), usuários e execução da transação. Realiza chamadas síncronas para um \"Autorizador Externo\" (mock) e publica eventos de transação no RabbitMQ. 2. Notification Service (Consumer): Consome eventos de transação concluída e simula o envio de notificações (e-mail/SMS) de forma assíncrona. --- 🛠️ Tech Stack Language: Java 21 Framework: Spring Boot 3 (Web, Data JPA, Validation, Actuator) Database: PostgreSQL 15 (Instância única com databases segregados: db core banking e db notification ). Messaging: RabbitMQ (Exchange: transaction-exchange , Queue: notification-queue ). Resilience: Resilience4j (Circuit Breaker implementado na comunicação com o Autorizador Externo). Observability: Prometheus (coleta de métricas JVM e Micrometer) e Grafa","default_branch":null,"files":null,"tree":[],"storefront":"/r/ryan-mant","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/ryan-mant/payment-service/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}