如果在网络的某个地方有“Kafka”服务器,我会认为消费者可能有两种消费方式:
首先“订阅”主题并实际告诉Kafka服务器它正在监听的位置,以便在生成新消息时,Kafka主动通过网络将消息发送给消费者。 / p>
消费者必须使用当前消息的偏移量来轮询Kafka服务器,询问是否有新消息。
这是Kafka的工作原理,是否可以配置哪个选项?
答案 0 :(得分:2)
我将评论扩展为答案。
通过consumer documentation阅读,Kafka仅支持您已对其进行描述的选项2。消费者有责任从Kafka服务器获取消息。在0.9.x.x消费者中,这是由poll() method完成的。消费者轮询Kafka服务器并返回消息(如果有)。我认为他们选择避免支持选项1有几个原因。
可能还有其他原因,但目前这些是我想到的两个原因。