Skip to content
About
Main content
Trade-off

Push vs. pull

Who initiates the work.

Where you meet it: push delivery vs. poll, Volcano pull vs. push execution, sensors vs. events, write-through vs. read-through cache, CDC log tailing vs. diff polling.

What it is

A pulling consumer can say "give me up to 10 MB or 500 records, whichever comes first". It batches according to its own capacity, which is exactly the right party to decide. That is why high-throughput logs are pull-based. A pushing broker delivers as soon as it can, which is exactly right when you care about the tail latency of an individual message.

From Data Movement › Push versus pull

The cleanest way to choose between mechanisms is push versus pull. Write-through and invalidation broadcast are push: they bill the writer. TTL and revalidation are pull: they bill the reader. The direction you choose is the choice of who pays. Write-back sits where durability meets acknowledgment latency, which is why it belongs partly to the field of durability. Explicit invalidation couples every writer to the cache topology (every writer must know where the caches are).

From Caching › Who pays

Reactive pull. The consumer asks for work. A busy consumer does not ask. Here backpressure is not a mechanism at all. It is a structural consequence of who starts the transfer. This is why pull-based transports need no backpressure protocol. Examples are Kafka consumers, Volcano-model iterators in query engines, and Flow.Subscription.request(n) in Java's reactive streams. It is the simplest correct answer whenever you control both ends.

From Data Movement › Backpressure

Where it appears

In 6 mechanisms. Each says what the mechanism is about, then how this trade-off shows up there, in its own words.

  • Data Movement

    How do records cross between two systems that have independent rates, independent availability and independent lifetimes, and what are you willing to lose when the assumption underneath the crossing breaks?

    It is a structural consequence of who starts the transfer.

    Read it inBackpressureWhat changed: from one machine to twoPush versus pull

  • Caching

    What happens when we deliberately keep a second copy of data that no protocol forces to be correct?

    Write-through and invalidation broadcast are push: they bill the writer.

    Read it inWho pays: push or pull

  • Cost Mechanics

    What is metered, and what is the smallest increment you are charged for?

    Ingress is free and egress is charged, so the equilibrium is accumulation: data goes in and stays, and compute has to come to the data.

    Read it inEgress and data gravity

  • Streaming

    What does it cost to remember, when the input never ends?

    Streaming systems can apply backpressure safely only because the durable log absorbs it.

    Read it inBackpressure propagation

  • Orchestration & Workflow

    How do you make unreliable, unobservable, irreversible side effects behave like a pure function of a time interval?

    Push inverts the ownership: the producer notifies.

    Read it inSensors: polling versus push

  • Interfaces & Formats

    What can two parties agree on when they cannot talk to each other?

    In one sentence: push moves latency down and state up.

    Read it inCatalog APIs and webhooks

Made on the same pages most often.