Выбор ответа Middle Очереди, логи и микросервисы обновлено

Группы потребителей Kafka

Вопрос

Два экземпляра сервиса писем читают топик orders в одной consumer group. Что произойдёт с сообщениями?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Партиции разделятся между экземплярами, каждое сообщение прочтёт один. Внутри группы каждая партиция читается одним потребителем, так масштабируют обработку.

Варианты ответа

  1. Каждый экземпляр получит все сообщения, и письма уйдут дважды
  2. Второй экземпляр не подключится, пока первый держит все партиции группы
  3. Сообщения удалятся из топика после чтения первым экземпляром
  4. Партиции разделятся между экземплярами, каждое сообщение прочтёт одинправильный ответ

Разбор

Внутри группы каждая партиция читается одним потребителем, так масштабируют обработку. Разные группы читают топик независимо и получают всё: склад и письма видят одни и те же события. В Kafka сообщения не удаляются после чтения, они живут по сроку хранения (retention), а группа запоминает смещение (offset).

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.