谁负责抵消维修?

时间:2017-06-18 14:33:09

标签: java apache-kafka

以下是MyList myList = new Gson().fromJson(json, MyList.class);

Kafka docs
  

获取使用其中一个指定的主题或分区的数据   订阅/分配API。没有订阅任何内容是错误的   轮询数据之前的主题或分区。每次民意调查,消费者   将尝试使用最后消耗的偏移量作为起始偏移量   按顺序取。可以手动设置上次消耗的偏移量   通过搜索(TopicPartition,long)或自动设置为最后一个   已订阅的分区列表的已提交偏移量

我的问题是谁(经纪人或消费者或动物园主管)负责维护偏移量及其存储位置(内存或光盘)?如果消费者将其保留在内存中,消费者是否会从开始或开始阅读它 消费者应用需要坚持光盘吗?

1 个答案:

答案 0 :(得分:5)

作为"偏移和消费者位置"在您引用的文档中提到的部分,偏移量由Kafka(经纪人)存储:

  

Kafka为分区中的每条记录维护一个数字偏移量

具体来说,它将它们存储在"内部"消费者抵消主题称为" __ consumer_offsets"。

老消费者" api(在即将发布的v0.11中弃用)允许您选择在kafka或zookeeper中存储偏移量。

此外,您可以自由地在消费者方面保存偏移量,并且如果您愿意,可以在启动时始终寻找这些偏移量。

因此,总而言之,根据您的消费者API版本和您的偏好,偏移量可以存储在经纪人或动物园管理员和/或消费者一侧。