微服务-SpringCloud学习系列(六): 服务网关SpringCloudGateWay

1.SpringCloudGateWay的使用

①创建GateWay网关服务,引入依赖

(这里注意GateWay使用netty和WebFlux实现,WebFlux和SpringMvc有冲突,因此不能将web依赖放在父pom中,需要单独的放在需要的子工程中,gateway中不能有mvc的web依赖)

  ②配置启动类,不需要额外的注解

 ③配置文件注意,注意列表项用-隔开(例如id和path,这些都可以配置多个)

 2. 路由规则和断言条件(请求参数,Header,Cookie等)

 动态路由(面向服务的路由,在注册中心获取服务名称来进行路由)

 3.路由过滤器(示例为重写过滤器)和路由转发

 

 过滤器生命周期有两个pre和post,

过滤器类型有两种:GateWayFilter和GlobalFilter

 

 4.自定义全局过滤器(统一认证的实例)

  5.网关的限流算法

①计数器算法(限流不够 平滑)

 ②漏桶算法(压力在自身,保护别的服务)

  ③令牌桶算法(保护网关,SpringCloudGateWay的默认限流算法)

 6.网关限流的实现 

a.基于Filter的限流

①准备Redis,并在项目中引入 Redis依赖

 ②修改配置

  ③配置Redis中的key的解析器KeyResolver

基于路径的限流:

 基于参数或IP的限流

 b.基于sentinel的限流

①引入依赖

 ②配置(配置类内容较多,这里只截取部分代码,需要在网上查找完整代码)

 

 修改限流提示信息

 分组限流

 

 7.网关的高可用

 8.总结

学习SCG的使用,SCG的过滤算法和类型,自定义过滤(全局认证过滤),SCG的高可用

posted @ 2020-05-04 18:19  Masting  阅读(266)  评论(0编辑  收藏  举报