Awesome Open Source
Awesome Open Source


Build Status License Coverage Status

README: English | 中文

spring-cloud-learning can be used as a project to learn microservices, and it's mainly contain service discovery, service gateway, configuration management, circuit breakers, application monitor.

Table of Contents


  • [x] Eureka
  • [x] Consul
  • [ ] Ribbon
  • [x] Feign
  • [x] Hystrix
  • [x] Turbine
  • [x] Zuul
  • [x] Spring Cloud Config
  • [x] Spring Cloud Stream
  • [x] Spring Cloud Bus
  • [ ] Spring Cloud Sleuth
  • [ ] Spring Cloud Security
  • [ ] Spring Cloud Task
  • [x] Spring Cloud Gateway

To be supplemented...

Getting Started

Two methods will mainly introduced, but no matter what you need to clone the code.

$ git clone

Use directly (recommend)

You can use ide to import the project with maven, and use ide or use command line to start project.

$ mvn spring-boot:run

You can also package the code and run it.

$ java -jar xxx.jar

Use docker

First, you have to make sure you have installed docker and start docker server.

$ docker --version
Docker version 18.06.1-ce, build e68fc7a

Then, you need to enter each submodule and execute the docker building command.

$ cd eureka-server

$ mvn clean package -Pdocker docker:build

Next, return to the parent module and execute docker-compose command.

$ docker-compose up -d

Finally, you can open the registration center(default url: http://localhost:8761) to see if the service is registered successfully.


Spring boot admin wallboard

Spring Boot admin detail

Service customer hystrix stream

Hystrix monitor


- port remarks
admin-dashboard 8040 Spring boot Admin Dashboard for monitor spring cloud services
api-gateway 9090 Service gateway(Zuul)
config-server 8504 if you change the port, you need also modify bootstrap.yml of service-customer.
consul-server 8502 Service discovery(Consul)
eureka-server 8761 Service discovery(Eureka)
gateway-server 8080 Service gateway(Gateway)
hystrix-dashboard 8050
service-customer 8200 Integrated multiple components, including Feign, Spring Cloud Config, Spring Cloud Stream, Spring Cloud Bus
service-producer 8100
turbine-server 8060
zipkin-server 9411 if you change the port, you need also modify bootstrap.yml of service-customer.

Dependency Chart

Spring Boot Spring Cloud Spring Boot Admin Swagger2
2.1.5 Greenwich 2.1.6 2.7.0

Todo List

  • [ ] Split the module of service-customer.
  • [x] Add the detailed usage of hystrix with turbine.
  • [x] Update Spring Boot to 2.x and both Spring Cloud to Greenwich.
  • [x] Add Spring Boot admin dashboard.
  • [x] Use Spring Cloud Gateway replaces zuul as service gateway.






MIT © CoderQian

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
java (30,349
spring-boot (725
spring-cloud (210
consul (119
gateway (97
eureka (53
zuul (44
ribbon (43
feign (28

Find Open Source By Browsing 7,000 Topics Across 59 Categories