流量控制
更新時間 2025-07-17 09:37:58
最近更新時間: 2025-07-17 09:37:58
分享文章
本文為您介紹天翼云云搜索服務的流量控制能力及使用方法。
功能簡介
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替換為_search_flowcontrol即可,其他所有查詢等均無需改動。
- 作為參照,記錄一次正常的search請求:
- 當實例壓力很小的時候,替換流量控制endpoint以后,進行查詢,會得到一模一樣的返回結果,論證了替換endpoint對于搜索結果是完全無影響的。如下圖所示:
- 通過一個多線程的腳本,模擬高通量查詢,壓測使得集群的QPS超過閾值。再進行同樣的請求:
可以看到,請求返回了http_code=429的異常,提示了實例負載過高的異常提示。
不僅如此,Flowcontrol流量控制插件,可以有效減少高負載情況下,實例內對索引的查詢、聚合等操作,可以一定程度上避免實例過高負載帶來的OOM等問題,從而有效提升穩定性和可靠性。