Skip to content

hebcodee/Spring-Microservices

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Spring Microservices

Descrição do Projeto

Projeto com infraestrutura base de um sistema de microserviços.


Tecnologias Utilizadas

Core

  • Java 21
  • Spring Boot 4.0.2
  • Maven — gerenciamento de dependências e build

Spring Cloud

  • Spring Cloud Gateway — API Gateway (roteamento, proxy reverso)
  • Netflix Eureka Server — servidor de descoberta de serviços
  • Netflix Eureka Client — registro dos microserviços no Eureka
  • Spring Cloud OpenFeign — cliente HTTP declarativo (comunicação entre pagamento e pedidos)

Persistência e API

  • Spring Data JPA — acesso a dados
  • Spring Web MVC — APIs REST
  • Bean Validation — validação de entrada
  • Flyway — migrações de banco (incl. flyway-mysql)
  • MySQL — banco de dados (driver mysql-connector-j)

Utilitários e Resiliência

  • Lombok — redução de boilerplate (getters, setters, etc.)
  • ModelMapper — mapeamento entre DTOs e entidades
  • Resilience4j — resiliência (circuit breaker, retry, etc.) no serviço de pagamento
  • Spring AOP — suporte a aspectos (usado com Resilience4j)

Testes

  • Spring Boot Test — testes de aplicação
  • Spring Boot Starters de teste — JPA, Flyway, Validation, WebMvc (test)

Arquitetura

Serviço Função
server Servidor Eureka — descoberta e registro de serviços
gateway API Gateway — ponto único de entrada e roteamento
pedidos Microserviço de gestão de pedidos
pagamento Microserviço de pagamentos (integra com pedidos)

Como executar

  1. Requisitos: Java 21, Maven, MySQL em execução.

  2. Banco de dados: Crie os bancos e usuários necessários para os serviços pedidos e pagamento e configure as URLs em application.properties de cada um.

  3. Ordem sugerida de subida:

    • server (Eureka)
    • gateway
    • pedidos
    • pagamento
  4. Build e execução por serviço (exemplo):

    cd server && mvn spring-boot:run
    cd gateway && mvn spring-boot:run
    cd pedidos && mvn spring-boot:run
    cd pagamento && mvn spring-boot:run
  5. Consulte os application.properties de cada módulo para portas e URLs do Eureka/MySQL.


About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages