如何在springboot中设置特定于用户的速率限制?

guicsvcw  于 2023-03-29  发布在  Spring
关注(0)|答案(1)|浏览(211)

我有一些速率限制概念的问题,我试图创建一个POC,我们正在阻止没有请求的基础上的时间和它的工作罚款.但我需要implement速率限制的基础上,用户对用户一样,在我的applicationdiffernt用户可以搜索产品并行如果我implenting速率限制,那么它的封锁为所有用户,而不是为单个用户.任何人都可以在这里提供帮助。.
我已经创建了速率限制的POC,我可以看到它适用于所有用户。让我们举个例子如下:1.假设我的应用程序每分钟保持5个请求,对于第6个请求,它将阻塞并给予错误消息。2.但是对于其他用户,他还没有被搜索,当他尝试搜索时,他也会得到同样的异常

ovfsdjhp

ovfsdjhp1#

首先,您的实现听起来很明确,因为它正在做速率限制功能所期望的事情。
您唯一落后的部分是基于用户实现此功能,这可以基于标识符来完成,我们可以将每个用户分离出来。
在一般的用例中,可以使用username+sessionid作为唯一标识符,在用户级别实施速率限制,这将解决您的问题。
您可以使用数据库或缓存来了解或跟踪当前对服务器进行的访问,然后将其与现有的速率限制逻辑进行比较。
虽然这是一个非常特定于需求的实现,但我希望我为您提供了一个工作的起点。

相关问题