速率限制开发人员在给定的时间、分钟、小时、日、月或年的时间内可以发出多少HTTP请求。
启用速率限制插件
1、在服务上启用插件
$ 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 :开发人员每秒可以生成的HTTP请求量。
config.hour:开发人员每小时可以生成的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