/spring-microservices-playground

Microservice application created for training purposes.

Primary LanguageJava

build

Microservices in Spring

This is a sample microservice application created for training purposes.

Technologies used:

  • Spring Boot, Spring Cloud
  • Spring Cloud Gateway
    • route API request using load balancer filter which detects the URI and replaces it with an available endpoint associated with service name
  • Netflix Eureka
    • service discovery
  • Micrometer -> Zipkin
  • Feign clients
  • TODO: dynamic Spring Validator
  • TODO: automatic build to docker registry and deployment using Watchtower
  • TODO: OAuth2 and Keycloak
  • TODO: Kafka

Components

  • microservices-parent
    • standalone modules:
      • customer
        • port 8080
      • fraud
        • port 8081
      • notification
        • port 8082
      • API gateway
        • port 8083
      • eureka-server
        • running at port 8761
    • shared modules
      • microservices-clients
        • Feign clients
      • message-queue
        • RabbitMQ

Tools

Usage

docker compose up - starts PGSQL + PgAdmin, and Zipkin