限速和背压有什么区别?

问题描述 投票:0回答:2

限速和背压有什么区别?主要是速率限制是客户端自行减慢速度,而背压是服务丢弃请求以减慢速度?

rate-limiting
2个回答
2
投票

速率限制检测到某些操作在某个时间范围内发生过多,并防止其再次发生,直到该时间范围结束。

例如,假设我有一个应用程序,每次生成错误时都会发送一封电子邮件。应用程序与每秒轮询多次的队列进行通信。因此,如果队列配置错误,那么应用程序可能会在一小时内生成数千封电子邮件。添加速率限制可以跟踪一段时间内发送的错误电子邮件的数量,并在计数足够高时停止发送电子邮件。或者应用程序可以在一段时间间隔内停止轮询队列。

背压意味着系统拒绝承担更多工作。与速率限制不同,应用程序恢复工作的时间没有设定,这取决于应用程序检测到其具有容量。

如果我有一个通过固定大小的阻塞队列接收工作的应用程序,那么,一旦队列填满,任何尝试将新条目放入队列的操作都将等待,直到队列可以为其腾出空间。这样,应用程序就不会执行超出其可管理范围的工作,从而导致内存不足或进入不良状态。


0
投票

我猜“节流”已经失宠了……曾经有各种各样的。我想这些相对较新的发展是描述可能发生的情况和相关补救措施的更好方式。

© www.soinside.com 2019 - 2024. All rights reserved.