Voltar ao blog
Uma Nota Tranquila sobre Backpressure

Uma Nota Tranquila sobre Backpressure

Uma Nota Tranquila sobre Backpressure

Quando um produtor rápido encontra um consumidor lento, algo precisa ceder. A pergunta é o quê — e backpressure é como um sistema bem-comportado responde.

Três opções honestas

  1. Bufferizar — absorver o pico, até a memória dizer não.
  2. Descartar — descartar carga de propósito, e admitir isso nas métricas.
  3. Desacelerar — empurrar de volta no produtor para que ele alivie.

Cada uma é um trade-off. O erro é fingir que você não fez nenhum.

async function* throttle<T>(src: AsyncIterable<T>, max: number) {
  let inFlight = 0
  for await (const item of src) {
    while (inFlight >= max) await tick()
    inFlight++
    yield item
  }
}

Os sistemas em que mais confio são os que são honestos sobre seus limites.

Voltar ao blog
Pietro Piva VieiraPietro Piva Vieira

Feito com carinho no espírito Frutiger Aero — céus claros, vidro brilhante e um tanto de nostalgia.

Em outros lugares

[email protected]
© 2026 Pietro Piva Vieira · Todos os direitos reservados.