coderqianlq / Spring Cloud Learning
Programming Languages
Projects that are alternatives of or similar to Spring Cloud Learning
Spring-Cloud-Learning
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
Components
- [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 https://github.com/coderqianlq/spring-cloud-learning.git
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.
Preview
Modules
- | 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.
Collaborators
Marveliu |
Joby1230 |
wxaaaa |
License
MIT © CoderQian