intermediate

Queue

Используйте queues для work distribution, где каждое message забирает один competing consumer, а processing rate можно сглаживать.

Queue распределяет work так, что каждое message обычно обрабатывает один consumer в competing consumer group. Producers enqueue; consumers pull или push; brokers buffer при отставании consumers. Подходит для task distribution, load leveling и decoupling burst traffic.

Компромисс: ordering часто global или per-queue, не per business key без partitions; messages могут redeliver.

На интервью: queue vs topic для order fulfillment workers; ack timing и poison message handling.

Типовые ошибки: unbounded queue growth скрывает consumer failure; ack до processing; нет DLQ.

Чеклист:

  • Visibility timeout и ack semantics.
  • Мониторьте queue depth и age oldest message.
  • Poison messages в DLQ с alerts.
  • Sizing consumers по throughput и SLA.