GateWay核心配置类源码分析|学习笔记

本文涉及的产品
应用型负载均衡 ALB,每月750个小时 15LCU
网络型负载均衡 NLB,每月750个小时 15LCU
简介: 快速学习GateWay核心配置类源码分析

开发者学堂课程【精通Spring Cloud Alibaba:GateWay 核心配置类源码分析】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/634/detail/10128


GateWay 核心配置类源码分析

内容简介

一、GatewayAutoConfiguration

二、谓词类型

三、GatewayLoadBalancerClientAutoConfiguration.

四、Spring Boot 项目源码的入口


一、GatewayAutoConfiguration

org.springframework.cloud.gateway.config.GatewayAutoConfiguration, \

GatewayAutoConfiguration 是最为核心的

@Bean

public GatewayProperties gatewayProperties() { return new GatewayProperties();}

表示在配置文件中注入的

@NotNull

@Valid

private List<RouteDefinitionroutes = new ArrayList<>();


二、谓词类型

1、后路线谓词工厂

2、之前路线谓词工厂

3、路由谓词间工厂

4、Cookie 路线谓词工厂

5、标头路由谓词工厂

6、主机路由谓词工厂

7、方法路线谓词工厂

8、路径路线谓词工厂

9、查询路由谓词工厂

10、RemoteAddr 路由谓词工厂

11、重量路线谓词工


三、GatewayLoadBalancerClientAutoConfiguration

org .springframework.cloud.gateway.config.GatewayLoadBalancerClientAutoConfiguration, \表示网关需要使用的负载均衡

@Bean

@Conditional0nBean(LoadBalancerClient.class)

public LoadBalancerClientFilter loadBalancerClientFilter(LoadBalancerClient client){

return new LoadBalancerClientFilter(client) ;

}

public class LoadBalancerClientFilter implements GlobalFilter,Ordered {

private static final Log log = LogFactory.getLog(LoadBalancerClientFilter.class);

public static final int LOAD_BALANCER_CLIENT_FILTER_ORDER = 10100;

private final LoadBalancerClient loadBalancer;

public LoadBalancerClientFilter(LoadBalancerClient loadBalancer) {

this.loadBalancer = loadBalancer;

}

作用到 GateWayWebHandler

@Override

public int getOrder() { return LOAD_BALANCER_CLIENT_FILTER_ORDER;}

Order 值最小,最优先执行

return chain.filter(exchange);

调用 filter 是因为他有不同的用途


四、Spring Boot 项目源码的入口

1. Gateway Class Path Warning Auto Configuration 作用检查是否配置我们 web fux 依赖。

2. Gateway Auto Configuration 加载了我们 Gateway 需要的注入的类。

3. Gateway Load Balancer Client Auto Configuration 网关需要使用的负载均衡

Lb//may i k t-member// 根据服务名称查找真实地址

4. GatewayRed i sAutoCon f i gurat i on 网关整合 Red i s 整合 Lua 实现限流

5. GatewayD i scoveryC l ientAutoConf i gurat ion 服务注册与发现功能

相关实践学习
SLB负载均衡实践
本场景通过使用阿里云负载均衡 SLB 以及对负载均衡 SLB 后端服务器 ECS 的权重进行修改,快速解决服务器响应速度慢的问题
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
相关文章
|
2月前
|
负载均衡 Java Nacos
SpringCloud基础2——Nacos配置、Feign、Gateway
nacos配置管理、Feign远程调用、Gateway服务网关
SpringCloud基础2——Nacos配置、Feign、Gateway
|
1月前
|
负载均衡 Java API
【Spring Cloud生态】Spring Cloud Gateway基本配置
【Spring Cloud生态】Spring Cloud Gateway基本配置
41 0
|
3月前
|
传感器 安全 物联网
Gateway基本配置:打开网络之门
Gateway基本配置:打开网络之门
|
4月前
|
Java Spring
spring cloud gateway在使用 zookeeper 注册中心时,配置https 进行服务转发
spring cloud gateway在使用 zookeeper 注册中心时,配置https 进行服务转发
115 3
|
3月前
|
存储 容器
【Azure 事件中心】为应用程序网关(Application Gateway with WAF) 配置诊断日志,发送到事件中心
【Azure 事件中心】为应用程序网关(Application Gateway with WAF) 配置诊断日志,发送到事件中心
|
6月前
|
SpringCloudAlibaba Java 网络架构
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(七)Spring Cloud Gateway服务网关
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(七)Spring Cloud Gateway服务网关
293 0
|
5月前
|
Java API 网络架构
Spring Cloud Gateway的高级配置与实践
Spring Cloud Gateway的高级配置与实践
|
4月前
|
Kubernetes 监控 Java
有了k8s还需要gateway网关,nacos配置中心吗
在Kubernetes环境中,服务网关(如Spring Cloud Gateway)和Nacos配置中心补充了k8s的不足。Nacos提供灵活服务路由和动态配置更新,超越k8s基础服务发现。它还支持更复杂的配置管理和实时推送,以及环境隔离和版本控制。作为服务注册中心,Nacos增强k8s服务治理能力,保持技术一致性,并提供额外的安全层及监控功能。
251 0
|
6月前
|
负载均衡 Java 网络安全
gateway基本配置
gateway基本配置
2466 4
|
6月前
|
安全 Java API
gateway基本配置
【5月更文挑战第7天】API Gateway在微服务架构中起着关键作用,作为客户端与后端服务的统一入口,负责路由转发、安全控制和负载均衡。本文深入介绍了API Gateway的基本配置、常见问题、跨平台配置差异及避免错误的方法。内容包括路由和过滤器配置、动态路由、安全性配置、限流和熔断机制,以及自定义过滤器和服务降级策略。通过示例代码和实践指南,帮助读者理解和部署API Gateway。
222 3
下一篇
无影云桌面