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

简介: 快速学习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 服务注册与发现功能

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
相关文章
|
SpringCloudAlibaba Java 网络架构
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(七)Spring Cloud Gateway服务网关
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(七)Spring Cloud Gateway服务网关
2037 0
|
负载均衡 Java Nacos
SpringCloud基础2——Nacos配置、Feign、Gateway
nacos配置管理、Feign远程调用、Gateway服务网关
SpringCloud基础2——Nacos配置、Feign、Gateway
|
负载均衡 Java API
【Spring Cloud生态】Spring Cloud Gateway基本配置
【Spring Cloud生态】Spring Cloud Gateway基本配置
1685 1
|
传感器 安全 物联网
Gateway基本配置:打开网络之门
Gateway基本配置:打开网络之门
|
Java Spring
spring cloud gateway在使用 zookeeper 注册中心时,配置https 进行服务转发
spring cloud gateway在使用 zookeeper 注册中心时,配置https 进行服务转发
649 3
|
Java API 网络架构
Spring Cloud Gateway的高级配置与实践
Spring Cloud Gateway的高级配置与实践
|
存储 容器
【Azure 事件中心】为应用程序网关(Application Gateway with WAF) 配置诊断日志,发送到事件中心
【Azure 事件中心】为应用程序网关(Application Gateway with WAF) 配置诊断日志,发送到事件中心
289 0
|
负载均衡 Java 网络安全
gateway基本配置
gateway基本配置
3726 4
|
安全 Java API
gateway基本配置
【5月更文挑战第7天】API Gateway在微服务架构中起着关键作用,作为客户端与后端服务的统一入口,负责路由转发、安全控制和负载均衡。本文深入介绍了API Gateway的基本配置、常见问题、跨平台配置差异及避免错误的方法。内容包括路由和过滤器配置、动态路由、安全性配置、限流和熔断机制,以及自定义过滤器和服务降级策略。通过示例代码和实践指南,帮助读者理解和部署API Gateway。
1118 3
|
负载均衡 监控 Java
新手入门gateway基本配置详解与深入分析
欢迎关注 `威哥爱编程` 一起交流学习,人生海海,相遇就是缘分,让我们以技术为信物,成为相互惦记的人。
1097 1