Spring Cloud Gateway RedisRateLimiter(十)
(1). 概述 SpringCloudGateway针对分布式限流,进行了抽象(RateLimiter)和实现:RedisRateLimiter.在这里,主要剖析:SpringCloudGateway是如何利用:Redis+Lua实现分布式限流的.
(1). 概述 SpringCloudGateway针对分布式限流,进行了抽象(RateLimiter)和实现:RedisRateLimiter.在这里,主要剖析:SpringCloudGateway是如何利用:Redis+Lua实现分布式限流的.
(1). GatewayProperties类结构图
(1). GatewayFilterFactory类结构图 从类的结构图可以分析出:GatewayFilterFactory是GatewayFilter的工厂类.
(1). GatewayAutoConfiguration GatewayAutoConfiguration固名思意,就是针对:Gateway进行配置的类.
(1). 概述 在前面(第六节),分析了:RoutePredicateHandlerMapping,它主要获取用户配置:Route中的断言(Predicate)对象.调用apply(Exchange).获取符合断言的Route对象.并把这个Ro...
(0). 整个项目git地址 git clone https://github.com/dashprateek/zuul2-sample.git
(1). Spring Cloud Gatewary概念 Spring Cloud Gatewary以以下三大部份组成: Route / Predicate / Filter.
(1). Spring Cloud Gateway源码索引目录 Spring Cloud Gateway业务模型: “GatewayProperties” Filter: “GatewayFilterFactory” Pre...
(1). Route RemoteAddr RemoteAddr用来断言(Predicate)请求的IP地址. RemoteAddrRoutePredicateFactory
(1). Route Query Query用来断言(Predicate)请求的参数. QueryRoutePredicateFactory
(1). 环境准备工作 eureka注册中心(1111/2222). 服务提供者(TEST-PROVIDER:8080). 服务消费者(TEST-CONSUMER-FEIGN:7070). 项目之间的依赖:TEST-C...
(1). Route Method Method用来断言(Predicate)请求方式(GET/POST/HEAD/DELETE….). MethodRoutePredicateFactory
(1). Route Head Head用来断言(Predicate)请求头(Head) HeaderRoutePredicateFactory
(1). Eureka 结合 Route pom.xml添加eureka.
(1). Eureka 结合 Route pom.xml添加eureka.
(1). Route DateTime DateTime用来断言(Predicate)请求是否在指定的时间:之前,之间,之后. BeforeRoutePredicateFactory BetweenRoutePredicateFactory ...
(1). 自定义网关 需要实现:GlobalFilter和Ordered.
(1). Filter RequestRateLimiterGatewayFilterFactory Spring Cloud Gateway提供了RequestRateLimiter限流,它依赖:Redis和Lua脚本.
(1). 自定义网关 需要实现:GatewayFilter和Ordered.
(1). Filter StripPrefixGatewayFilterFactory StripPrefix网关过滤器工厂采用一个参数StripPrefix,该参数表示在将请求发送给下游之前剥离的路径个数.
(1). Filter SetStatusGatewayFilterFactory SetStatus将请求设置成相应的状态码(404/200…)
(1). Filter SetPathGatewayFilterFactory SetPath它允许模板化路径段来操作请求路径的简单写法
(1). Filter RewritePathGatewayFilterFactory Path路径过滤器可以实现URL重写,通过重写URL可以实现隐藏实际路径提高安全性.
(1). Filter PrefixPathGatewayFilterFactory PrefixPath为匹配URL添加指定的前缀.
(1). Filter AddRequestParameterGatewayFilterFactory 可以在请求发往下游的时候,增加参数
(1). ElasticSearch依赖注入 一直以来,以为:ES的依赖注入使用了:Google Guice,深入跟踪了半天,发现并不我以为的那样(对Guice进行了包装),而是,参照Guice自己写了一套:DI.感觉在自己造轮子,不过,也对哈...
(1). Settings类图 从Settings类的结构图分析,该类应该是:存取配置文件的载体.
(1). 查找Main入口 elasticsearch-7.1.0/bin/elasticsearch
(1). 概述 在上一节,剖析了:ES的main入口为:Elasticsearch.它最终会把请求委托给:Bootstrap.init方法,在这里主要剖析:Bootstrap.
(1). Binder Binding其实就是一个接口和相应的实现类的映射关系. 可以将接口与实现类进行映射. 可以将接口与实例对象进行映射. 可以半接口与Provider(工厂)进行映射. 案例代码如下: bind(UserSer...