Преимущество сохранения Kafka Offset для внешнего хранилища - PullRequest
0 голосов
/ 13 сентября 2018

Я работаю над сохранением статуса потребителя в ребалансе Кафки.Я обнаружил, что псевдокод в javadoc ConsumerRebalanceListener использует внешнее хранилище для сохранения смещения.

Я хочу знать, что: есть ли какая-то выгода для безопасности или надежности системы (не заботится о требованиях бизнес-логики ) при использовании внешнего хранилища вместо Kafka (Zookeeper или _consumer_offset) для управления смещением, например, лучшей обработкой при проблемах сети?Спасибо.

1 Ответ

0 голосов
/ 13 сентября 2018

Основной вариант использования для хранения смещений за пределами Kafka - это когда приложение-потребитель должно сохранять смещения и использованные / обработанные сообщения вместе.Это позволяет выполнить однократную запись (возможно, атомарную) в систему, объединив оба значения (смещения и сообщения).

В противном случае приложению фактически необходимо выполнить 2 «записи» для хранения сообщений во внешнемсистемы, а затем сохраните смещения в Kafka.

Это объясняется более подробно в разделе Сохранение смещений вне Kafka в javadoc KafkaConsumer

...