更新时间:2024-12-02 GMT+08:00
背景信息
特性介绍
云搜索服务支持流量控制特性,提供节点级别的流量控制功能,可提供单个节点基于黑白名单的访问限制、HTTP并发连接数限制、HTTP最大连接数限制、基于请求Path的堆内存最大使用量流控能力、基于CPU最大占用率流控能力,一键断流能力,同时也提供节点访问IP统计和URI的采样统计能力。每个功能配置独立的控制开关,默认关闭。所有参数配置为null可以恢复默认值。
开启流控功能会使请求在入口处直接阻塞,可以缓解节点高并发场景下的集群压力,降低P99时延,减少节点不可用的风险。
- HTTP/HTTPS流控:
- HTTP/HTTPS黑白名单设置IP和子网控制客户端IP访问,如果节点IP在黑名单中,则该客户端的连接将直接中断,节点不会处理任何请求。白名单规则优先于黑名单规则,如果客户端IP在黑白名单中都出现,客户端请求将不会被拒绝。
- HTTP/HTTPS并发连接数流控通过限制节点每秒中的HTTP连接总数来限制节点流量。
- HTTP/HTTPS新建连接数流控通过限制节点新建的连接数来限制节点流量。
- 内存流控基于节点堆内存使用量限制请求Path,支持设置内存流控白名单、全局内存使用阈值和基于单个Path设置堆内存使用阈值。全局内存流控阈值优先于单个Path内存阈值,白名单配置Path不参与内存流控。
- Path全局免流控白名单可以根据客户需要,设置Path白名单全局免流控,当用户需要自定义插件时,可适当配置。
- 请求采样统计可以记录客户端IP的访问数量和采样用户的请求Path,用户可以基于统计值识别客户端IP的访问流量和分析哪些请求Path访问量大。
- 流量控制提供单独的流量统计查看接口,记录触发流控的数量,用户可以基于统计值评估流控配置阈值和衡量集群压力。
- 访问日志可以记录一段时间内节点接收的HTTP/HTTPS请求URL和Body,用户可以基于访问日志信息分析当前的流量压力。
- CPU流控基于节点配置的最大CPU占用率来限制节点访问流量。
- 一键断流可以切断节点的所有访问流量,不包括kibana访问和elasticsearch monitor类接口。
约束限制
- 目前仅7.6.2和7.10.2版本支持流量控制特性。
- 开启流量控制功能会消耗部分节点性能。
- 开启流控会直接拒绝超过阈值的用户请求。
- 内存流控和CPU流控都是基于请求Path的流控,Path长度和个数不应该配置过多,否则影响集群性能。
父主题: 流量控制1.0