Опыт работы с Kafka и другими очередями сообщений
Что проверяют
Реальный опыт: что настраивали, какие грабли ловили. Перечисление названий без деталей звучит как знакомство по документации.
Как отвечать
Рамка и конкретный случай.
> «Kafka около трёх лет, RabbitMQ на предыдущем проекте. Сейчас четыре темы, из них горячая с двенадцатью партициями, ключ по идентификатору заказа, чтобы события одного заказа шли по порядку. > > Из практики: обработчик иногда падал на середине пачки, смещение фиксировалось автоматически по таймеру, и часть сообщений терялась. Отключили автофиксацию, перешли на ручную после успешной обработки, а обработчик сделали идемпотентным через ON CONFLICT DO NOTHING по идентификатору события. > > Второй случай: обработка одного сообщения занимала дольше max.poll.interval.ms, потребителя исключали из группы, начиналась перебалансировка, и та же пачка приходила снова. Вынесли тяжёлую часть в отдельный пул и увеличили таймаут».
Что уместно назвать: группы потребителей и партиции, смещения и способы фиксации, ключ и порядок, повторы и очередь недоставленных сообщений, Transactional Outbox, схемы сообщений и их совместимость, мониторинг отставания потребителя.
Где спотыкаются
Называют Kafka очередью и не могут объяснить разницу с RabbitMQ.
Оставляют автоматическую фиксацию смещений и теряют сообщения.
Не следят за отставанием потребителя, а это главный показатель здоровья.
Не продумывают, что делать с сообщением, которое не обрабатывается никогда.