В Kafka предотвращение повторного чтения одних и тех же сообщений обеспечивается за счёт механизма смещений (offsets) и управления ими на стороне потребителя (consumer).
Какой компонент Kafka обеспечивает предотвращение повторного чтения одних и тех же сообщений?
В Kafka предотвращение повторного чтения одних и тех же сообщений обеспечивается за счёт механизма смещений (offsets) и управления ими на стороне потребителя (consumer).
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
В Kafka предотвращение повторного чтения одних и тех же сообщений обеспечивается за счёт механизма смещений (offsets) и управления ими на стороне потребителя (consumer).
Каждое сообщение в партиции имеет уникальный offset — порядковый номер. Потребитель отслеживает, какой offset он уже прочитал и подтверждает (commit) его. При повторном запуске потребитель начинает чтение с последнего зафиксированного offset, тем самым избегая повторного чтения уже обработанных сообщений.
Таким образом, компонентом, отвечающим за предотвращение повторного чтения, является сам consumer, который управляет commit offset'ами.