Backpressure
Wat er gebeurt als de consument trager is dan de producent, en de strategieën om te voorkomen dat invoerbuffers onbeperkt groeien en het systeem laten crashen.
Oplossingen: drop (berichten weggooien), buffer (tot een grens wachten), block (de producent pauzeren) en credit-based (de consument meldt hoeveel hij aankan). TCP doet dat laatste via de venstergrootte. Reactive Streams (RxJava, Project Reactor, Akka Streams) standaardiseren het binnen één proces.
Klassieke valkuil: onbegrensde buffer = geen backpressure = OOM onder belasting. Kafka gebruikt de offset-commit van de consument als natuurlijk backpressure-signaal.