intermediate

Consumer

Проектируйте consumers для idempotency, acknowledgement timing, concurrency, backpressure, poison-message handling и observable lag.

Consumers pull или receive messages, deserialize, выполняют handlers и acknowledge или commit offsets только после safe processing. Проектируйте idempotency, controlled concurrency, backpressure, poison-message quarantine и observable consumer lag.

Компромисс: выше concurrency ускоряет processing, но может сломать per-key ordering без правильных partitions.

На интервью: ack до vs после processing; message, который всегда throws.

Типовые ошибки: unbounded parallel handlers на ordered stream; commit offset до DB transaction; нет lag alerts.

Чеклист:

  • Idempotent handlers с inbox или natural keys.
  • Concurrency под ordering guarantees.
  • Commit offsets после durable side effects.
  • Alert на растущий lag и DLQ volume.