2020-07-16
在我看来,在某些场景下,网关就像是一个公共方法,把项目中的都要用到的一些功能提出来,抽象成一个服务。比如,我们可以在业务网关上做日志收集、Token校验等等,当然这么理解很狭隘,因为网关的能力远不止如此,但是不妨碍我们更好地理解它。下面的例子演示了,如何在网关校验Token,并提取用户信息放到Header中传给下游业务系统。1. 生成Token用户登录成功以后,生成token,此后的所有请求都带着token。网关负责校验token,并将用户信息放入请求Header,以便下游系统可以方便的获...
详细 »
标签:
SpringCloud
Gateway
JWT
2020-07-11
我们可以通过Spring Cloud Gateway整合actuator监控,查看网关的配置信息,下面我们来实现一下首先在service-gateway服务pom.xml文件添加如下依赖:<!--actuator 监控--><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator&l...
详细 »
标签:
SpringCloud
Gateway
Eureka
2020-07-11
前面我们学习了路由转发,但是目标服务配置的都是外部服务的形势,那么网关能够通过注册的Eureka注册中心,实现内部服务的转发吗?答案是肯定的,下面我们来具体实现一下下面的示例启动两个服务:service-gataway 和 eureka-client-provider 都注册到注册中心 Eureka上,客户端请求后端服务【eureka-client-provider】,网关提供后端服务的统一入口。网关通过负载均衡将客户端请求转发到具体的后端服务。 序号 服务...
详细 »
标签:
SpringCloud
Gateway
Eureka
2020-07-11
在高并发的系统中,往往需要在系统中做限流,一方面是为了防止大量的请求使服务器过载,导致服务不可用,另一方面是为了防止网络攻击。这节课详细探讨在 Spring Cloud Gateway 中如何实现限流常见的限流算法 滑动时间窗口算法 漏桶算法 令牌桶算法从某种意义上讲,令牌桶算法是对漏桶算法的一种改进,桶算法能够限制请求调用的速率,而令牌桶算法能够在限制调用的平均速率的同时还允许一定程度的突发调用。在令牌桶算法中,存在一个桶,用来存放固定数量的令牌。算法中存在一种机制,以一定的速率往...
详细 »
标签:
SpringCloud
Gateway
限流
2020-07-11
全局过滤器作用于所有的路由,不需要单独配置,我们可以用它来实现很多统一化处理的业务需求,比如权限认证、IP 限流等等。单独定义只需要实现 GlobalFilter、Ordered 两个接口就可以了,具体代码如下所示。@Componentpublic class MyFilter implements GlobalFilter, Ordered { @Override public Mono<Void> filter(ServerWebExchange exchang...
详细 »
标签:
SpringCloud
Gateway