- RequestRateLimiter GatewayFilter Factory:RequestRateLimiter使用RateLimiter实现是否允许继续执行当前请求 。如果不允许继续执行,则返回HTTP 429 - Too Many Requests (默认情况下) 。
- redis RateLimiter:令牌桶的填充速率 。
- RedirectTo GatewayFilter Factory:该过滤器有一个 status 和一个 url参数 。status是300类重定向HTTP代码,如301 。该URL应为有效的URL,这将是 Location header的值 。
- RemoveRequestHeader GatewayFilter Factory:有一个name参数. 这是要删除的header的名称 。
- RemoveResponseHeader GatewayFilter Factory:有一个name参数. 这是要删除的header的名称 。
- RewritePath GatewayFilter Factory:包含一个 regexp正则表达式参数和一个 replacement 参数. 通过使用Java正则表达式灵活地重写请求路径 。
- RewriteResponseHeader GatewayFilter Factory:包含 name, regexp和 replacement 参数. 。通过使用Java正则表达式灵活地重写响应头的值 。
- SetPath GatewayFilter Factory:它提供了一种通过允许路径的模板化segments来操作请求路径的简单方法 。使用Spring Framework中的URI模板,允许多个匹配segments 。
- SetStatus GatewayFilter Factory:SetStatus GatewayFilter Factory 包括唯一的 status参数.必须是一个可用的Spring HttpStatus 。
- StripPrefix GatewayFilter Factory:parts参数指示在将请求发送到下游之前,要从请求中去除的路径中的节数 。
- Retry GatewayFilter Factory:Retry GatewayFilter Factory包括 retries, statuses, methods和 series 参数 。
- RequestSize GatewayFilter Factory:当请求大小大于允许的限制时,RequestSize GatewayFilter Factory可以限制请求不到达下游服务 。过滤器以RequestSize作为参数,这是定义请求的允许大小限制(以字节为单位) 。

文章插图
Ribboon主要组件
- IPing:客户端用于快速检查服务器当时是否处于活动状态(心跳检测)
- IRule:负载均衡策略,用于确定从服务器列表返回哪个服务器
- ServerList:可以响应客户端的特定服务的服务器列表
- ServerListFilter:可以动态获得的具有所需特征的候选服务器列表的过滤器
- ServerListUpdater:用于执行动态服务器列表更新
- RoundRobinRule:系统默认的规则,通过简单轮询服务列表来选择服务器 。
- AvailabilityFilteringRule:该规则会忽略一下服务器 。无法连接的服务器 。默认情况下,3次连接失败,服务器会被置为短路的状态,状态持续为30秒;再次连接失败,短路的状态持续时间将会以几何数增加 。可以通过修改connectionFailureCountThreshold属性,配置连接失败的次数 。并发数过高的服务器 。可以修改ActiveConnectionsLimit属性来设置最高并发数 。
- WeightedResponseTimeRule: 为每个服务器赋予一个权重值,服务器的响应时间越长,权重就越小,随机选择服务器,权重值有可能会决定服务器的选择 。
- ZoneAvoidanceRule: 该规则以区域、可用服务器为基础进行服务器选择 。使用Zone对服务器进行分类 。
- BestAvailableRule: 忽略短路的服务器,并选择并发数较低的服务器 。
- RandomeRule: 随机选择可用的服务器 。
- RetryRule: 含有重试的选择逻辑 。
- NoOpPing: 不进行Ping 。
- DummyPing:默认实现,标记存活的服务器 。
- NIWSDiscoveryPing: 假设服务器存活 。
- PingUrl: 一种健康检查的ping 。
- DiscoveryEnabledNIWSServerList: 从Eureka 客户端获取服务器列表 。
- DomainExtractingServerList: 基于domain获取服务列表 。
- ConfigurationBasedServerList: 从配置中获取服务器列表
- ZoneAffinityServerListFilter: 根据区域亲缘关系过滤服务器 。在使用这个过滤器时,需要开启CommonClientConfig#EnableZoneAffinity或者
CommonClientConfigKey#EnableZoneExclusivity=true 。开启后,同一个区域之外的服务器将被过滤 。默认情况下,区域亲和力和排他性是关闭的,并且不会过滤任何内容 。
推荐阅读
- 在火星上看日出 从火星上看地球的照片
- 十分钟从Java 8到Java 15
- 饮食补充叶酸的方法
- solidworks怎么批量更改零件属性?solidworkstoolbox更改已生成的零件
- 零基础学太极 如何快速掌握动作要领
- 世界品牌不粘锅?不粘锅鼻祖
- 马祖禅师茶语,茶道大师从谂掸师
- 中国水质最好的城市是哪儿?
- 客厅镜子风水知识及讲究
- 详解客厅镜子风水知识及讲究
