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.