RabbitMQ: обменники, подтверждения и quorum-очереди — что нужно знать для прода?
RabbitMQ строится на трёх понятиях: обменник принимает сообщения, очередь хранит их, привязка с ключом маршрутизации связывает первое со вторым. Типы обменников задают модель доставки: direct — по точному ключу, topic — по шаблону с * и #, fanout — всем, headers — по заголовкам. Надёжность держится на двух подтверждениях: publisher confirms (брокер подтвердил приём) и consumer acknowledgements (потребитель подтвердил обработку); без первого сообщение теряется при падении брокера, без второго — при падении потребителя. Для кластера современный выбор — quorum-очереди на основе Raft: они реплицируются предсказуемо и пережили классические зеркальные очереди, которые объявлены устаревшими. Ключевые ручки нагрузки: prefetch (сколько сообщений отдаётся потребителю без подтверждения) и обработка nack с повторной постановкой или отправкой в очередь недоставленных.