Sobes.tech
Junior — Middle
98

В каком месте в архитектуре Kafka обычно сохраняются данные о подтверждении доставки сообщений?

Companies where asked
Холодильник.руХолодильник.ру

Answer from AI

sobes.tech AI

В архитектуре Apache Kafka данные о подтверждении доставки сообщений (offsets) обычно сохраняются в специальной внутренней теме Kafka под названием __consumer_offsets.

Когда потребитель (consumer) обрабатывает сообщения из топика, он периодически фиксирует (commits) смещение (offset) последнего обработанного сообщения. Эти смещения сохраняются в __consumer_offsets, что позволяет при перезапуске или сбое продолжить чтение с нужного места.

Таким образом, подтверждения доставки не хранятся в приложении, а централизованно в Kafka, обеспечивая надежность и масштабируемость.

Пример фиксации offset в Go с использованием библиотеки sarama:

consumer.MarkOffset(message, "")

Это сообщает Kafka, что сообщение обработано, и offset сохранится в __consumer_offsets.