在项目中,大部分情况下,使用Kafka自动管理offset能够满足需求,但是在某些情况下需要使用手动管理Kafka offset,比如必须要求数据处理完成以后才能commit,确保partition的数据被处理完。因此可以使用kafka的ConsumerRebalanceListener进行处理:
1) Subscribe
consumer.subscribe(topics,
new ConsumerRebalanceListener() {
@Overridepublic void onPartitionsRevoked(Collection<TopicPartition> topicPartitions) {
}
@Override
public void onPartitionsAssigned(Collection<TopicPartition> partitions) {
try {
&n

本文分享了在特定场景下如何使用Kafka的ConsumerRebalanceListener进行手动offset管理,以确保数据在处理完成后才提交,保证partition数据的完整处理。通过subscribe方法订阅主题,并在消费消息时记录topic分区,最后执行手动commit。

2068

被折叠的 条评论
为什么被折叠?



