
背压不是把压力堵在后面,而是让处理不过来的下游把限制传回上游,使上游减速、暂停或少发一些。它处理的是一个关系问题:生产速度若长期大于消费速度,局部仍在努力,整体却会因积压而失去稳定。
例如,一个数据生产者每秒送出500条消息,而接收端只能处理100条。短暂差额可以放进缓冲区;若速度差持续,缓冲只会延迟内存耗尽和延迟暴涨。背压让接收端明确表示“现在只能接这么多”,发送端据此调整节奏,系统才可能持续运行。
背压与缓冲、限流相邻但不同。缓冲保存暂时来不及处理的内容;限流通常预先规定发送上限;背压则由下游的实际状态触发,并沿依赖关系反向传播。它的重要性在于承认能力不是孤立属性:上游能生产多少,必须由整条链中仍能接住多少共同决定。
了解 Geoffrey Chen 的更多信息
订阅后即可通过电子邮件收到最新文章。