流量控制 本文为您介绍天翼云云搜索服务的流量控制能力及使用方法。 功能简介 Flowcontrol流量控制插件是天翼云搜索引擎团队自研的插件,可以帮助提高实例的高可用性和稳定性。该插件可以实时监控实例的Search请求情况,将实例的请求流量控制在一个合理的范围内。由于OpenSearch和Elasticsearch搜索引擎本身并不聚焦于流量管控方面建设,因此,Flowcontrol插件可以在搜索引擎内部,不引入额外组件,实现流量管控功能。 使用限制 仅限OpenSearch实例使用。 操作示例 在 OpenSearch组件的config/opensearch.yml配置文件中已默认设置了集群的QPS值为100,假如希望设置实例QPS为1000,可以调用Rest API来配置: PUT cluster/settings { "transient": { "flowcontrol.search.qps":"1000" } } 因为依赖插件机制实现,所以,需要对原来的endponit进行简单改写,将search替换为searchflowcontrol即可,其他所有查询等均无需改动。 1. 作为参照,记录一次正常的search请求: 2. 当实例压力很小的时候,替换流量控制endpoint以后,进行查询,会得到一模一样的返回结果,论证了替换endpoint对于搜索结果是完全无影响的。如下图所示: 3. 通过一个多线程的脚本,模拟高通量查询,压测使得集群的QPS超过阈值。再进行同样的请求: 可以看到,请求返回了httpcode429的异常,提示了实例负载过高的异常提示。 不仅如此,Flowcontrol流量控制插件,可以有效减少高负载情况下,实例内对索引的查询、聚合等操作,可以一定程度上避免实例过高负载带来的OOM等问题,从而有效提升稳定性和可靠性。
来自: