我正在实现一个需要限制的REST API。我知道,理想情况下,你会把这个逻辑放在nginx中。但是,我有一些独特的限制。
即,我有一类用户不应受到费率限制。基于每个IP(nginx方式)实现速率限制是没有用的。
API的用户在APIKey的基础上进行区分。使用缓存系统,我可以计算每个APIKEY的请求并相应地处理速率限制。我想,这涉及更多的设置,并没有可扩展性。
有什么建议吗?
答案 0 :(得分:2)
您可以设置多个虚拟主机,这些主机在不同的限制下单独限制。您可以进行计数,然后将所选用户重定向到这些虚拟主机以进行限制。