При использовании Kafka High Level ConsumerConnector, где будут сохраняться смещения?

Как следует из нового документа, сама Kafka позаботится об управлении смещениями при использовании API высокого уровня по умолчанию. Но когда я создаю ConsumerConnector, как показано ниже, он все равно требует от меня предоставления свойства zookeeper.connect.

_consumerConnector = Consumer.createJavaConsumerConnector(consumerConfig);

Правда ли, что в этом случае все еще зоокейпер управляет зачетом? Спасибо!

2 ответа

По Кафке 0.9 смещения хранятся в специальной теме __consumer_offsets, Тем не мение, KafkaConsumer все еще зависит от ZK (по другим причинам). В будущих выпусках зависимость от ZK будет полностью удалена.

Похоже, это все еще старый потребительский API высокого уровня. Вы по-прежнему можете управлять смещениями со старым потребителем Scala в Kafka, но для этого требуется, чтобы offsets.storage был установлен в Kafka, и вам все равно понадобится zookeeper.

"Новый" пользовательский API-интерфейс является Java-API и действительно использует Kafka для офсетного хранения и не требует настройки соединения zookeeper. Этот API задокументирован здесь.

Другие вопросы по тегам