名词解释
- 网关,不用解释了
- 路由,客户调用服务会过网关,网关根据路由规则路由到客户端请求的服务集群中的某一个
- 限流,在一定时间内只路由一定量的服务,限流规则可以根据客户端ip,主机名、服务名等很多
- 降级,服务请求超时,(服务不可用,我没试成功过这种场景)的时候快速返回降级 fallbackUri 的结果给客户端
- 熔断,相当于服务a原来直接到服务b,现在加上断路器,编程服务a到断路器再到服务b,如果服务b出错(可以自定义熔断哪种错误,比如500),就熔断,然后返回熔断配置的fallbackUri返回的结果,然后在一个时间窗口内请求进来都返回这个,过了时间窗口之后重新根据配置的熔断规则(比如20个请求内有50%失败)决定是否再次熔断,周而复始
架构
- spring-cloud-gateway 代码
- 限流的令牌桶,redis
- 数据库,无
- 服务注册与发现中心,nacos
主要配置
spring:
datasource:
username: root
password: faith332
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://node3:3306/test?useUnicode=true&characterEncoding=utf8&useSSL=false&allowPublicKeyRetrieval=true
redis:
timeou