TGViewer
Инженер и Менеджер Инженер и Менеджер @engineering_manager · 1.86K subscribers
Post #34 1.26K
Про Кафку
Судя по реакциям, посты вида "вопросы с собеседований" вам зашли. Не вижу повода не продолжить :)

На прошлом месте работы мы втаскивали Кафку рядом с кроликом (RabbitMQ). Мне понравились гарантии доставки Кафки, возможность перечитать топик и философия pull'а сообщений. То есть Кролик буквально ЗАПИХИВАЕТ сообщения в потребителя, даже если в него -- потребителя -- уже откровенно ничего не лезет. Это все равно что в вас после хорошего обеда попытаются запихнуть еще один обед. Неприятно ведь. Кафка более обходительная и позволяет потребителю читать сообщения по мере доступности.

// А еще один коллега придумал шутку, которая меня до сих пор веселит. Когда кто-то говорил "Кафка", он быстро добавлял "грефневая". Не знаю как вам, мне было (и до сих пор) смешно :)

У нас в Сбермаркете мы Кафку тоже используем, и на собеседованиях любим про нее поговорить. Один из первых моих вопросов: "Расскажи плиз про гарантии доставки Кафки".

Вы подумали, что это простой вопрос?

Нет.

Многие люди, которые работали с Кафкой в продакшне, на него не отвечают. Оставим этот факт на их совести. Правильный ответ: at-least-once. То есть: Кафка гарантирует доставку МИНИМУМ один раз, но так же гарантирует, что может доставить сообщение повторно. Если вы не учли этот момент в проектировании системы, на высоких нагрузках у вас появится очень интересный способ проводить вечера в попытках найти баг в распределенной системе.

А еще я для вас нашел статью, в которой есть картиночки и есть заход в идемпотентность. И объясняет автор хорошо. Делюсь: https://medium.com/@andy.bryant/processing-guarantees-in-kafka-12dd2e30be0e

(Кстати, если вас вдруг недавно на собесе завалили или удивили каким-нибудь вопросом, можете написать в комменты или мне в телегу. Разберу вопрос и напишу пост в канал.)

P.S. Если совсем докопаться, правильный ответ "а какие настройки у брокера, потребителя и продьюсера?". Кафка может работать в нескольких режимах доставки, нужно смотреть настройки. Из коробки у нее почти at-least-once. Почему "почти" я расскажу, но в следующих постах, все в один не залезет.
Medium Processing guarantees in Kafka Each of the projects I’ve worked on in the last few years has involved a distributed message system such as AWS SQS, AWS Kinesis and more…
  • 🔥 18
More from @engineering_manager
  1. Sep 15, 2026Жаль, что продакт менеджмент существует. Цитата CPO Whatnot'а — сравнительно нового сервис…
  2. Sep 14, 2026Ожидание: у нас CI/CD, push on green, канарейки и авторолбэки Реальность:
  3. Sep 14, 2026Даже лучшие инженеры порой дают опасные советы. Представьте инженера, чьим советам по коду…
  4. Sep 10, 2026Обнаружена первая (и, вероятно, единственная) причина покупки нового айфона.
  5. Sep 9, 2026Николай Петрович прислал замечания к документу в девять утра, а в десять уже чувствовал се…
  6. Sep 7, 2026Uber увольняет 3300 человек — 10% штата. И нет, подождите, в этот раз причина не «ИИ нас в…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →