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.
This project is Proof of concept (PoC
) and code quality is not perfect, please before using in production review security concerns among other things
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
To build the project use below maven commands
./mvnw clean package
Start building docker images for every services, simply run following command on root directory.
./mvnw clean package -Pdocker
Then On each service folder run following command:
./mvnw spring-boot:run
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
- Eureka - service-registry : http://localhost:8761/
- Spring Boot Micro-Service - hello-service: http://localhost:8080/hello
- Spring Cloud Gateway - gateway-service : http://localhost:9500/hello
- Hystrix Dashboard - http://localhost:8080/hystrix/ --> Then enter
http://localhost:8080/actuator/hystrix.stream
as the stream value --> click on Monitor stream - Spring boot admin Dashboard - http://localhost:9000
- Zipkin - http://localhost:9411
- Kibana Dashboard - http://localhost:5601