自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 源码中探究设计模式

建造者模式真实场景1:Spring-Cloud-Gateway中Route的建造者模式实现,一个有点复杂且完善的实现,但是对于构建Route来说非常方便public class RouteLocatorBuilder { private ConfigurableApplicationContext context; public RouteLocatorBuilder(ConfigurableApplicationContext context) { this.context = conte

2021-04-29 02:25:36 176

原创 源码中探究设计模式

观察者模式真实场景1:Spring-Cloud-Gateway通过事件刷新路由public class NacosWatch implements ApplicationEventPublisherAware, SmartLifecycle { @Override public void setApplicationEventPublisher(ApplicationEventPublisher publisher) { this.publisher = publisher; } @Ov

2021-04-29 01:28:19 284 1

原创 Spring-Cloud-Gateway限流源码分析

Spring-Cloud-Gateway源码系列学习版本 v2.2.6.RELEASE演示例子代码地址:https://gitee.com/wyusig/spring-webflux-demo.git环境需求:jdk1.8、Nacos、Redis在sc-gateway-registry模块的application.yml文件中,放开关于限流的配置(和另一个负载均衡例子写同一个例子里面了,所以配置都注释起来了)spring.redis的配置spring.cloud.gateway.defaul

2021-04-03 01:29:37 480

原创 Spring-Cloud-Gateway+Ribbon负载均衡-2

Spring-Cloud-Gateway源码系列学习版本 v2.2.6.RELEASELoadBalancerClientFilter源码分析public class LoadBalancerClientFilter implements GlobalFilter, Ordered { /** * @see RouteToRequestUrlFilter#filter(org.springframework.web.server.ServerWebExchange, org.springfra

2021-04-01 17:20:48 915

原创 Spring-Cloud-Gateway负载均衡源码分析-1

Spring-Cloud-Gateway源码系列学习版本 v2.2.6.RELEASELoadBalancerClientFilter源码分析public class LoadBalancerClientFilter implements GlobalFilter, Ordered { /** * Filter order for {@link LoadBalancerClientFilter}. */ public static final int LOAD_BALANCER_CLIE

2021-04-01 00:28:34 369

原创 基于注册中心的动态路由-2

Spring-Cloud-Gateway源码系列学习版本 v2.2.6.RELEASEdemo搭建Nacos下载地址:https://github.com/alibaba/nacos/releases/tag/2.0.0-BETA解压进入bin目录单机运行Nacos:windows系统:startup.cmd -m standalonelinux/mac:startup.sh -m standalone打开Nacos管理界面:链接:http://localhost:8848/na

2021-03-31 00:08:42 1950

原创 Spring-Cloud-Gateway基于服务发现的动态路由源码分析-1

Spring-Cloud-Gateway源码系列学习版本 v2.2.6.RELEASEdemo搭建Nacos下载地址:https://github.com/alibaba/nacos/releases/tag/2.0.0-BETA解压进入bin目录单机运行Nacos:windows系统:startup.cmd -m standalonelinux/mac:startup.sh -m standalone打开Nacos管理界面:链接:http://localhost:8848/na

2021-03-29 17:06:31 291

原创 Route、Predicate与Filter的关系

Spring-Cloud-Gateway源码系列学习版本 v2.2.6.RELEASERoute、Predicate、Filter关系总览Route、Predicate、Filter是Spring-Cloud-Gateway里面非常核心的三个概念,其中Route是Spring-Cloud-Gateway处理的基本单位,Route里面是包含Predicat和Filter的,都是一对多的关系。Filter分为GatewayFilter和GlobalFilter,其中GlobalFilter会作用于每个Ro

2021-03-29 01:08:45 1338

原创 默认的GlobalFilter学习

Spring-Cloud-Gateway源码系列学习版本 v2.2.6.RELEASE默认的GlobalFilter都有哪些[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-woOSi7yc-1616776458418)(https://sign-pic-1.oss-cn-shenzhen.aliyuncs.com/img/1616746517(1)].jpg)根据debug可以得出以下order顺序表格,一个请求都会经过这些GlobalFilter,这些 Global

2021-03-27 00:35:34 2328

原创 Spring-Cloud-Gateway常用Reactor方法

Spring-Cloud-Gateway源码系列学习版本 v2.2.6.RELEASE因为Spring-Cloud-Gateway有大量的Reactor的代码,因此必须得恶补一下Reactor的知识Flux一个0-N个元素的异步序列流,可以使用.subscribe来进行订阅类结构Flux->CorePublisher->Publisher,Flux继承了Publisher,代表它是个是个数据流range该方法有两个参数,start和count,表示构建一个start

2021-03-25 23:45:55 1504 2

原创 Spring-Cloud-Gateway路由匹配

Spring-Cloud-Gateway源码系列学习版本 v2.2.6.RELEASE请求路由匹配及其他处理流程先上结论,怕下面源码说多了,看了抓不住主线DispatcherHandler初始化:DispatcherHandler#initStrategiesDispatcherHandler请求处理:DispatcherHandler#handle获取匹配路由(仅针对RoutePredicateHandlerMapping):AbstractHandlerMapping#getHandle

2021-03-24 23:21:52 597

原创 Spring-Cloud-Gateway源码系列学习 - RouteDefinitionLocator 与 RouteLocator初步认识

Spring-Cloud-Gateway源码系列学习版本 v2.2.6.RELEASERouteDefinitionLocator 与 RouteLocator整体设计RouteDefinitionLocator 与 RouteLocator设计图:tip:RouteDefinitionLocator的职责是将各种配置源的配置数据转化成RouteDefinition,而RouteLocator的职责是把RouteDefinition转化成Route,关于RouteDefinition与Route等

2021-03-23 23:09:24 497

原创 Spring-Cloud-Gateway源码系列学习 - 基础组件学习

Spring-Cloud-Gateway源码系列学习版本 v2.2.6.RELEASE文章目录Spring-Cloud-Gateway源码系列学习Spring-Cloud-Gateay工作流程基础组件学习RouteAsyncPredicateGatewayFilter 与 GatewayFilterChainSpring-Cloud-Gateway配置元信息GatewayPropertiesRouteDefinitionPredicateDefinitionFilterDefinitionPredica

2021-03-23 23:06:53 218

原创 Spring Bean 生命周期源码系列

Spring Bean 生命周期源码系列版本:Spring Framework5.2.2.RELEASE目录Spring Bean 生命周期源码系列目录Spring Bean生命周期---注册阶段摘要:源码入口:源码解析Spring Bean生命周期---合并阶段摘要源码入口源码解析Spring Bean生命周期---实例化前阶段摘要源码入口实例化前代理Bean用法源码解析Spring Bean生命周期---Bean实例化...

2021-03-18 17:26:35 372 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除