/spring-cloud-micro-services

Spring cloud micro services example with Eureka registry and cloud gateway

Primary LanguageJava

spring-boot-docker-image

Spring Cloud Micro Services with Docker

Proof of concept for a enterprise level Spring cloud project.

This project uses Docker for setting up easily. Before running, please ensure docker is installed and running in local/development environment.

Maven Build

Disclaimer

This project is Proof of concept (PoC) and code quality is not perfect, please before using in production review security concerns among other things

Technology Stack

This project demonstrates usage of following technologies.

  • Spring Boot
  • Spring Cloud Gateway
  • Spring cloud Config server
  • Netflix Eureka Service Registry and Discovery
  • Netflix Hystrix Circuit breaker
  • Zipkin for distributed tracing
  • Elastic Search + Logstash + Kibana + Beats for log aggregation, visualization and analytics
  • Redis cache
  • Docker
  • Maven

Build

Maven

To build the project use below maven commands

./mvnw clean package

Build Docker images

Start building docker images for every services, simply run following command on root directory.

./mvnw clean package -Pdocker

Launch services in development environment

Using Maven

Then On each service folder run following command:

./mvnw spring-boot:run

Using docker-compose

Before running the docker compose, please ensure at least 4GB is allocated for docker. As it is starting up many services to setup the entire app, it needs more memory.

docker-compose up -d
# or if you want to rebuild
docker-compose up -d --build

Application URLs in development environment