大家有什么好的设计思路吗?
关键词:
最终答案:应该就是考察是否熟悉 Nginx 的配置,Nginx 完全可以通过配置满足这个需求。
详见:Nginx 单个 IP 访问频次限制
求大佬指导
如果是使用 nginx 的话,可以利用 lua 做。这个限制策略就看需求了。基本上都是统计单位时间段内,该 ip 的访问次数,到达限制策略,将该 ip 加入黑名单,后续收到黑名单的 ip 请求就做限制处理。限制时间到后,黑名单删除该 ip。然后循环这种逻辑。
如果是要这个功能,那基本上网关产品都有这个功能。 如果是面试题,高性能、高可用这要求不低呀。
要求限制 QPS,比如第 1 秒超过 QPS 频次了,拉黑。 第二秒还要放开。
要求自己设计开发,不能使用 Nginx 这种现成的
是的,把我问方了
换个方向想,是不是在考 nginx 的原理
现在我也在担心这个问题,哈哈
这是开发还是测试?
nginx 也没有这个功能,只是添加了模块。也属于自己开发。哈哈哈。整个网关是独立设计的话,限制逻辑不是难点,正如楼上所说,高性能高可用才是难点。
测试开发
是的,限制流量的逻辑简单,但是高性能比较考验网络这块的积累