https://github.com/devzwy/springclouddemo
🔥🔥🔥🔥🔥🔥SpringCloud常用组件的使用Demo
https://github.com/devzwy/springclouddemo
eureka eureka-client eureka-server hystrix ribbon springcloud springcloud-demo springcloud-hystrix springcloud-ribbon springcloudeureka
Last synced: 3 months ago
JSON representation
🔥🔥🔥🔥🔥🔥SpringCloud常用组件的使用Demo
- Host: GitHub
- URL: https://github.com/devzwy/springclouddemo
- Owner: devzwy
- Created: 2020-04-27T05:42:26.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2020-04-27T06:37:13.000Z (about 5 years ago)
- Last Synced: 2025-02-09T21:27:57.915Z (5 months ago)
- Topics: eureka, eureka-client, eureka-server, hystrix, ribbon, springcloud, springcloud-demo, springcloud-hystrix, springcloud-ribbon, springcloudeureka
- Language: Kotlin
- Homepage:
- Size: 2.11 MB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# SpringCloud使用到的相关组件以及端口等说明
___EurekaServer:服务注册中心 端口使用8000
EurekaClient:微服务客户端(内容提供者) 端口分别使用9000、9001、9002、9003,在Idea Configuration中自行配置
PublicApi:消费端+Hystrix(熔断器)+Zuul(路由网关以及全局拦截) 外网调用路径 端口80
#### 1. Eureka
服务治理,服务注册中心
#### 2.Hystrix
熔断器
#### 3.Zuul
路由网关以及全局拦截### 项目启动流程:
首先启动注册中心:`EurekaServer`启动后访问`localhost:8000`看到如下页面
随后启动微服务`EurekaClient()`,至少启动一个端口,启动后可在以上页面发现注册成功的微服务

最后启动外部调用端微服务`PublicApi`,访问:`localhost/getUser`,数据会通过不同的端口返回,
如果其中有服务掉线后会通过熔断器返回预先定义好的数据,并根据熔断器配置的策略选择重连/remove机制,remove后该端口将不会被使用
#### 以下图片来自测试熔断器过程图片,假设开启两个服务端口9000,9001
postMan正常访问,从9000和9001不同端口返回,负载均衡没问题。


关闭其中的9000端口
再使用Postman访问,当负载均衡分配到9000端口时,熔断器会工作,如:

间隔10s后再次访问(一段时间内访问如果再次被分配到9000,还是会返回失败信息,详见熔断器介绍),负载均衡将不会再分发到9000端口
再次启动9000端口
间隔一段时间后,负载均衡又可以分配到9000端口了。自动重连成功。