我对端点进行了krakend配置,如下所示
{
"endpoint": "/api/login",
"method": "POST",
"output_encoding": "no-op",
"headers_to_pass": [
"*"
],
"backend": [
{
"encoding": "no-op",
"host": [ "http://login-service:80" ],
"url_pattern": "/api/login",
"method": "POST",
"extra_config": {
"github.com/devopsfaith/krakend-ratelimit/juju/router": {
"maxRate": 2,
"capacity": 2,
"clientMaxRate": 1,
"strategy": "header",
"key": "x-real-ip"
}
}
}
]
}
我按照这些链接形成了配置https://www.krakend.io/docs/backends/rate-limit/ https://www.krakend.io/docs/endpoints/rate-limit/
但问题是,我认为配置不起作用。对于上述配置,每秒允许的最大请求为2,但端点每秒接受2次以上的请求,而不显示任何错误消息。根据文档,如果对触发限制的人达到了maxRate限制,则应显示503服务不可用。
发布于 2021-12-21 08:25:39
看起来您的额外配置是错误的。路由器速率限制在端点内,而不是后端。用这个:
{
"endpoint": "/api/login",
"method": "POST",
"output_encoding": "no-op",
"headers_to_pass": [
"*"
],
"extra_config": {
"github.com/devopsfaith/krakend-ratelimit/juju/router": {
"maxRate": 2,
"capacity": 2,
"clientMaxRate": 1,
"strategy": "header",
"key": "x-real-ip"
}
},
"backend": [
{
"encoding": "no-op",
"host": [
"http://login-service:80"
],
"url_pattern": "/api/login",
"method": "POST"
}
]
}
https://stackoverflow.com/questions/70426046
复制相似问题