当前位置: 首页 > 工具软件 > SIA-GateWay > 使用案例 >

服务网关:Gateway

伯鸿达
2023-12-01

目录

一:什么是服务网关

二:gateway的核心概念

三:gateway限流【两种方式】


一:什么是服务网关

网关是整个微服务API请求的入口,负责拦截所有请求,再分发到服务上去。

可以实现日志拦截、权限控制、解决跨域、限流、熔断、负载均衡,隐藏服务端的ip,黑名单与白名单拦截、授权等。

 

二:gateway的核心概念

1、Route(路由):就是转发规则

Spring Cloud Gateway的基础元素,可简单理解成一条转发的规则。包含:ID、目标URL、Predicate集合以及Filter集合。

2、Predicate(断言或谓词):就是控制 该请求是不是走转发规则的(Route) 条件

即java.util.function.Predicate接口的函数式编程的API,Spring Cloud Gateway使用Predicate实现路由的匹配条件。

3、Filter(过滤器):就是为该请求添加业务逻辑,修改请求以及响应

通过过滤器可以对请求进行一些修改和响应。

 

三:gateway限流【两种方式】

内置的 RequestRateLimiterGatewayFilterFactory 提供限流的能力,基于令牌桶算法实现。目前,它内置的 RedisRateLimiter ,依赖Redis存储限流配置,以及统计数据。当然你也可以实现自己的RateLimiter,只需实现 RateLimiter 接口,或者继承AbstractRateLimiter 。

1、漏桶算法

想象有一个水桶,水桶以一定的速度出水(以一定速率消费请求),当水流速度过大时水会溢出(访问速率超过响应速率,就直接拒绝)。

漏桶算法的两个变量:

水桶漏洞的大小:rate

最多可以存多少的水:burst

2、令牌桶算法

系统按照恒定间隔向水桶里加入令牌(Token),如果桶满了的话,就不加了。每个请求来的时候,会拿走1个令牌,如果没有令牌可拿,那么就拒绝服务

 

 

四:Gateway的实际应用

 类似资料: