中小企业服务中心网站建设,网站开发建设费用明细,网页游戏排行榜 511,手机网站 程序Kong 提供了 Rate Limiting 插件#xff0c;实现对请求的限流功能#xff0c;避免过大的请求量过大#xff0c;将后端服务打挂。
Rate Limiting 支持秒/分/小时/日/月/年多种时间维度的限流#xff0c;并且可以组合使用。例如说#xff1a;限制每秒最
多 100 次请求实现对请求的限流功能避免过大的请求量过大将后端服务打挂。
Rate Limiting 支持秒/分/小时/日/月/年多种时间维度的限流并且可以组合使用。例如说限制每秒最
多 100 次请求并且每分钟最多 1000 次请求。
Rate Limiting 支持 consumer 、 credential 、 ip 三种基础维度的限流默认为 consumer 。例如
说设置每个 IP 允许每秒请求的次数。计数的存储支持使用 local 、 cluster 、 redis 三种方式进
行存储默认为 cluster
local 存储在 Nginx 本地实现单实例限流。cluster 存储在 Cassandra 或 PostgreSQL 数据库实现集群限流。redis 存储在 Redis 数据库实现集群限流。
Rate Limiting 采用的限流算法是计数器的方式所以无法提供类似令牌桶算法的平滑限流能力。 配置 Rate Limiting 插件
调用 Kong Admin API services/${service}/plugins 创建 Rate Limiting 插件的配置
以下为3种插件的方式
# 服务上启用插件
curl -X POST http://127.0.0.1:8001/services/handsome-product/plugins --data namerate-limiting --data config.second1 --data config.limit_byip# 路由上启用插件
curl -X POST http://127.0.0.1:8001/routes/{route_id}/plugins --data namerate-limiting --data config.second5 --data config.hour10000# consumer上启用插件
curl -X POST http://127.0.0.1:8001/plugins --data namerate-limiting --data consumer_id{consumer_id} --data config.second5 --data config.hour10000 name 参数设置为 rate-limiting 表示使用 Rate Limiting 插件。config.second 参数设置为 1 表示每秒允许 1 次请求。config.limit_by 参数设置为 ip 表示使用 IP 基础维度的限流。
也可以通过konga UI操作添加rate-limiting插件 测试
请求超过阈值会被kong限流