背压

什么是背压
在异步场景下,被观察者(生产者)发射事件(数据)的速度过快,导致观察者(消费者)处理事件(数据)不及时,从而造成 Buffer 溢出。对于这种现象,我们称之为「背压」。

注意的是,异步场景指的是被观察者与观察者需要在不同的线程中,并且被观察者生产速度大于观察者消费速度,导致观察者的 Buffer 溢出。

为了更好地理解,举个例子,例如有一个服务器不断地接收来自用户的 HTTP 请求来把用户需要的网页返回给用户。服务器所能承受的同时访问用户数是有上限的。这里,它由服务器主机的处理器和内存情况决定了,它最多只能承受 5000 ~ 6000 个用户同时访问,再多的话服务器就有宕机的风险。那么你决定:把用户数上限设置为 5000,当超出 5000 用户数的时候,再有新的访问就把它丢弃或者拒绝。那么对于这个案例,5000 就是你对于用户访问数设置的 Buffer;第 5001 个用户的访问,就叫做造成了「背压」的产生;而你的「丢弃或拒绝」的行为,就是对于「背压」的处理。(案例摘自:如何形象的描述反应式编程中的背压(Backpressure)机制)

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值