Backpressure - замедление производителя при перегрузке потребителя, чтобы не накапливать необработанные сообщения. В Go: ограничение числа горутин-воркеров (пул), каналы с буфером ограниченного размера, семантики с блокировкой при полном буфере. При чтении из Kafka ограничивают параллелизм обработки и commit только после обработки. Паттерн: worker pool с N воркерами, задачами по каналу.
sem := make(chan struct{}, 10)
for msg := range kafkaMessages {
sem <- struct{}{}
go func(m Message) {
defer func() { <-sem }()
process(m)
}(msg)
}