我是靠谱客的博主 自觉短靴,最近开发中收集的这篇文章主要介绍python kafka offset_Kafka提交offset机制,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

在kafka的消费者中,有一个非常关键的机制,那就是offset机制。它使得Kafka在消费的过程中即使挂了或者引发再均衡问题重新分配Partation,当下次重新恢复消费时仍然可以知道从哪里开始消费。它好比看一本书中的书签标记,每次通过书签标记(offset)就能快速找到该从哪里开始看(消费)。

Kafka对于offset的处理有两种提交方式:(1) 自动提交(默认的提交方式) (2) 手动提交(可以灵活地控制offset)

(1) 自动提交偏移量:

Kafka中偏移量的自动提交是由参数enable_auto_commit和auto_commit_interval_ms控制的,当enable_auto_commit=True时,Kafka在消费的过程中会以频率为auto_commit_interval_ms向Kafka自带的topic(__consumer_offsets)进行偏移量提交,具体提交到哪个Partation是以算法:partation=hash(group_id)%50来计算的。

如:group_id=test_group_1,则partation=hash("test_group_1")%50=28

自动提交偏移量示例:

1 importpickle2 importuuid3 from kafka importKafkaConsumer4

5 consumer =KafkaConsumer(6 bootstrap_servers=['192.168.33.11:9092'],7 group_id="test_group_1",8 client_id="{}".format(str(uuid.uuid4())),9 max_poll_records=500,10 enable_auto_commit=True, #默认为

最后

以上就是自觉短靴为你收集整理的python kafka offset_Kafka提交offset机制的全部内容,希望文章能够帮你解决python kafka offset_Kafka提交offset机制所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(54)

评论列表共有 0 条评论

立即
投稿
返回
顶部