Backpressure背压

Backpressure是指在数据流传输中,上游生产速度超过下游消费速度,导致Buffer溢出的现象。本文解释了Backpressure的来源,通过服务器处理用户请求的例子阐述其原理,并讨论了为何需要设置Buffer、如何处理Backpressure以及在不同场景下的应对策略。重点在于,Backpressure出现时的唯一解决方案是丢弃新事件,以防止系统崩溃。
摘要由CSDN通过智能技术生成

Backpressure 并不是一种「机制」,也不是一种「策略」。Backpressure 其实是一种现象:在数据流从上游生产者向下游消费者传输的过程中,上游生产速度大于下游消费速度,导致下游的 Buffer 溢出,这种现象就叫做 Backpressure 出现。

编程中的 Backpressure 这个概念源自工程概念中的 Backpressure:在管道运输中,气流或液流由于管道突然变细、急弯等原因导致由某处出现了下游向上游的逆向压力,这种情况称作「back pressure」。这是一个很直观的词:向后的、往回的压力——back pressure。可是,国内的热力工程界对这个词的正式翻译是「背压」,把「back」翻译成了「背」,着实有点让人无力吐槽。

相辅相成地,由于「back pressure」被国内翻译为了「背压」,那么这个概念对于国内的程序员来说就更加难懂了,很多人对此或多或少加了一些自己的猜测:「背压?来自背后的压力?是说上游给下游的压力太大了吗?」

其实程序开发中的 Backpressure ,只是一种和工程上的 back pressure 相似的概念,我在这里再重复一遍:在数据流从上游生产者向下游消费者传输的过程中,上游生产速度大于下游消费速度,导致下游的 Buffer 溢出,这种现象就叫做 Backpressure 出现。需要强调的是:这句话的重点不在于「上游生产速度大于下游消费速度」,而在于「Buffer 溢出」

Backpressure 和 Buffer 是一对相生共存的概念,只有设置了 Buffer,才有 Backpressure 出现;只要

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值