TarsGateway icon indicating copy to clipboard operation
TarsGateway copied to clipboard

网关限流修改配置后未生效

Open wangkaihust opened this issue 3 years ago • 3 comments

站点流量配置设置每60s限制访问10个,保存测试生效。后改为60s限制访问0个,保存测试不生效。 目前怀疑FlowControlManager::loadDB()函数中判断if (maxID == _maxFlowID)满足条件直接return了,未从t_flow_control表中获取最新的限流配置

wangkaihust avatar Jan 07 '22 08:01 wangkaihust

配置信息, 设计上有限制流量要大于0,如果限制流量为0,相当于关闭站点了, 就不需要限制流量。 代码里面有限制: if (duration <= 0 || flow <= 0) { continue; }

shevqko avatar Jan 08 '22 05:01 shevqko

配置信息, 设计上有限制流量要大于0,如果限制流量为0,相当于关闭站点了, 就不需要限制流量。 代码里面有限制: if (duration <= 0 || flow <= 0) { continue; }

是的,我把限制流量改为0,理想情况就是不再限流,但是实际测试情况还是按照之前的策略进行限流。目前看loadDB函数无法从数据库中获取最新的限流配置导致的

wangkaihust avatar Jan 10 '22 09:01 wangkaihust

官方文档里提到: 黑白名单配置通过自定义命令loadComm 可以使配置生效。流控配置后会在5分钟内自动生效。

实际上流控配置后,如果修改当前流控配置的速率,比如从60s限制100次调用改为60s限制200次调用,这个更新并不会生效。 image

wangkaihust avatar Jan 11 '22 06:01 wangkaihust