Очереди, потоки, события
RabbitMQ exchanges: тест на припоминание
Припоминание лучше перечитывания. На каждый промпт скажи или запиши полный ответ по памяти, прежде чем открыть модельный — именно усилие припоминания закрепляет модель маршрутизации.
Реконструируй ключевые механизмы юнита — четыре типа exchange, как binding и routing key решают доставку, контракт smart-broker push и режимы сбоев — не подглядывая в урок.
- 01Почему продюсер RabbitMQ никогда не публикует напрямую в queue и что даёт эта косвенность?
- 02Опиши четыре типа exchange и правило маршрутизации каждого.
- 03Объясни smart-broker push-модель и чем она отличается от pull-лога Kafka.
- 04Почему слишком высокий prefetch count вызывает и несправедливость, и аварию, и какой безопасный дефолт?
- 05Что такое dead-letter exchange и какой режим сбоя он решает?
- 06Как защититься от того, что exchange тихо отбрасывает немаршрутизируемые сообщения?
Если ты смог реконструировать каждый ответ по памяти, ты держишь хребет юнита: продюсеры публикуют в exchange, никогда в queue, а тип плюс routing key плюс binding решают, какие queue получат независимую копию. Direct — точное совпадение, fanout рассылает, topic матчит точечные * / # паттерны, а headers матчит атрибуты. Smart-broker push-модель ack-and-delete — противоположность воспроизводимому pull-логу Kafka. И production-сбои предсказуемы: непривязанный exchange тихо отбрасывает без флага mandatory, слишком высокий prefetch голодает consumer’ов и растит неподтверждённую память, а poison message без dead-letter exchange зацикливается навсегда.