Kong入门指南 - 保护您的服务
在本主题中,您将学习如何使用Rate Limiting插件来实施速率限制。
如果根据入门指南学习,请确保之前完成“Kong入门指南 - 公开您的服务 ”学习。
什么是速率限制?
速率限制使您可以限制您的上游服务从API使用者接收的请求数量,或每个用户可以调用API的频率。
为什么要使用速率限制?
速率限制可保护API免受意外或恶意的过度使用。在没有速率限制的情况下,每个用户都可以根据自己的意愿进行多次请求,这可能导致大量的请求挤占其他消费者的请求。启用速率限制后,每秒将API调用限制为固定数量的请求。
设置速率限制
在端口上调用Admin API 8001并配置插件以在节点上每分钟限制五(5)个请求,这些请求存储在本地和内存中。
使用cURL:
$ curl -i -X POST http://<admin-hostname>:8001/plugins --data "name=rate-limiting" --data "config.minute=5" --data "config.policy=local"
验证速率限制
要验证速率限制,请从CLI访问API 6次,以确认请求受到速率限制。
使用cURL:
$ curl -i -X GET http://<admin-hostname>:8000/mock/request
在第6次请求之后,您应该收到 “超出API速率限制” 错误:
{ "message": "API rate limit exceeded" }