The request_host_limiter filter is used to control traffic based on the request host (domain name).
Configuration Example #
A configuration example is as follows:
flow: - name: rate_limit_flow filter: - request_host_limiter: host: - api.elasticsearch.cn:8000 - logging.elasticsearch.cn:8000 max_requests: 256 # max_bytes: 102400 #100k action: retry # retry or drop # max_retry_times: 1000 # retry_interval: 500 #100ms message: "you reached our limit"
The above configuration controls the traffic used for accessing domain names
logging.elasticsearch.cn and the maximum allowable QPS is
256 per second.
Parameter Description #
|host||array||Host domain names that will participate in traffic control. If this parameter is not set, all host domain names will participate in traffic control. If an accessed domain name contains a port ID, add the port ID here. For example, |
|interval||string||Interval for evaluating whether traffic control conditions are met. The default value is |
|max_requests||int||Maximum request count limit in the interval|
|max_bytes||int||Maximum request traffic limit in the interval|
|action||string||Processing action after traffic control is triggered. The value can be set to |
|status||string||Status code returned after traffic control conditions are met. The default value is |
|message||string||Rejection message returned for a request, for which traffic control conditions are met|
|retry_interval||int||Interval for traffic control retry, in milliseconds. The default value is |
|max_retry_times||int||Maximum retry count in the case of traffic control retries. The default value is |
|failed_retry_message||string||Rejection message returned for a request, for which the maximum retry count has been reached|