速率限制開發(fā)人員在給定的時間、分鐘、小時、日、月或年的時間內(nèi)可以發(fā)出多少HTTP請求。
啟用速率限制插件
1、在服務(wù)上啟用插件
$ curl -X POST http://kong:8001/services/{service}/plugins \
--data "name=rate-limiting" \
--data "config.second=5" \
--data "config.hour=10000"
2、在路由上啟用插件
$ curl -X POST http://kong:8001/routes/{route_id}/plugins \
--data "name=rate-limiting" \
--data "config.second=5" \
--data "config.hour=10000"
3、在消費者中啟用插件
$ curl -X POST http://kong:8001/plugins \
--data "name=rate-limiting" \
--data "consumer_id={consumer_id}" \
--data "config.second=5" \
--data "config.hour=10000"
4、在API上啟用插件
$ curl -X POST http://kong:8001/apis/{api}/plugins \
--data "name=rate-limiting" \
--data "config.second=5" \
--data "config.hour=10000"
備注:
config.second :開發(fā)人員每秒可以生成的HTTP請求量。
config.hour:開發(fā)人員每小時可以生成的HTTP請求量。
config.limit_by : 匯總限額時將使用的實體:consumer( 默認 ), credential, ip
config.policy : 用于檢索和增加限制的限速策略。local,cluster,redis
config.hide_client_headers : 隱藏頭信息。默認:false
如果config.policy選了redis則需要配置:config.redis_host,config.redis_port,config.redis_password,config.redis_timeout,config.redis_database