正如新文档所建议的那样,kafka在默认情况下使用高级api时将负责补偿管理。但是当我创建如下所示的consumerconnector时,它仍然要求我提供zookeeper.connect属性。
_consumerConnector = Consumer.createJavaConsumerConnector(consumerConfig);
在这种情况下,管理补偿的仍然是Zookeeper,这是真的吗?谢谢!
正如新文档所建议的那样,kafka在默认情况下使用高级api时将负责补偿管理。但是当我创建如下所示的consumerconnector时,它仍然要求我提供zookeeper.connect属性。
_consumerConnector = Consumer.createJavaConsumerConnector(consumerConfig);
在这种情况下,管理补偿的仍然是Zookeeper,这是真的吗?谢谢!
2条答案
按热度按时间2w3rbyxf1#
从Kafka开始
0.9
偏移量存储在特殊主题中__consumer_offsets
. 然而,KafkaConsumer
仍然依赖于zk(出于其他原因)。在将来的版本中,对zk的依赖关系将被完全删除。xmjla07d2#
这看起来仍然是旧的高级消费api。您仍然可以使用kafka中的旧scala使用者管理偏移量,但它需要将offset.storage设置为kafka,并且您仍然需要zookeeper。
“新的”消费者api是一个javaapi,它确实使用kafka进行偏移存储,并且不需要zookeeper连接配置。这个api在这里有文档记录。