/spring-cloud-microservices

Microservice example using spring cloud

Primary LanguageKotlinMIT LicenseMIT

Microservices example using Spring Cloud

The services are related to currency conversion and exchange.

Getting started

Prerequisites:

  • Java 11
  • Kotlin
  • Docker
  • Maven

Technologies

  • Kotlin
  • Spring Framework (Spring Boot, Spring Cloud etc)
  • Docker
  • PostgreSQL
  • Hystrix
  • Feign
  • Zuul
  • Eureka
  • Zipkin
  • Ribbon
  • Rabbit MQ

Ports

Application Port
Local PostgreSQL 5432
Limits Service 8080, 8081, ...
Spring Cloud Config Server 8888
Currency Exchange Service 8000, 8001, 8002, ..
Currency Conversion Service 8100, 8101, 8102, ...
Netflix Eureka Naming Server 8761
Netflix Zuul API Gateway Server 8765
Zipkin Distributed Tracing Server 9411

Endpoints

Application URL
Limits Service http://localhost:8080/limits, http://localhost:8080/actuator/refresh (POST)
Spring Cloud Config Server http://localhost:8888/limits-service/default, http://localhost:8888/limits-service/dev
Currency Converter Service - Direct Call http://localhost:8100/currency-converter/from/USD/to/INR/quantity/10
Currency Converter Service - Feign http://localhost:8100/currency-converter-feign/from/EUR/to/INR/quantity/10000
Currency Exchange Service http://localhost:8000/currency-exchange/from/EUR/to/INR, http://localhost:8001/currency-exchange/from/USD/to/INR
Eureka http://localhost:8761/
Zuul - Currency Exchange & Exchange Services http://localhost:8765/currency-exchange-service/currency-exchange/from/EUR/to/INR http://localhost:8765/currency-conversion-service/currency-converter-feign/from/USD/to/INR/quantity/10
Zipkin http://localhost:9411/zipkin/
Spring Cloud Bus Refresh http://localhost:8080/actuator/bus-refresh (POST)