假设没有更多的kafka事件在中发布,当kafka代理中保留的所有以前的kafka事件由于保留而过期,并且相关的使用者尚未完成对所有事件的消费时,相关的kafka使用者延迟是否会被给定的分区卡住?
piztneat1#
虽然代码:(kafka 0.9 consumer)在创建新的consumer时定义了resetstrategy
public enum OffsetResetStrategy { LATEST, EARLIEST, NONE }
所以,如果抵消超出范围,比康斯默继续阅读根据该政策
6pp0gazn2#
流程如下:假设当前偏移量为100,但由于保留策略,最早可用的偏移量为110。您的消费者发送一个fetchrequest,请求来自偏移量100的消息。Kafka返回一个错误( OFFSET_OUT_OF_RANGE 准确地说)。消费者对此错误的React是发送一个offsetrequest,指定它要重置为哪个值,比如说在您的情况下它是 EARLIEST .kafka返回一个offsetresponse,在您的例子中是110。您的消费者强制将当前偏移量设置为110,然后再次开始获取。
OFFSET_OUT_OF_RANGE
EARLIEST
2条答案
按热度按时间piztneat1#
虽然代码:(kafka 0.9 consumer)在创建新的consumer时定义了resetstrategy
所以,如果抵消超出范围,比康斯默继续阅读根据该政策
6pp0gazn2#
流程如下:
假设当前偏移量为100,但由于保留策略,最早可用的偏移量为110。
您的消费者发送一个fetchrequest,请求来自偏移量100的消息。
Kafka返回一个错误(
OFFSET_OUT_OF_RANGE
准确地说)。消费者对此错误的React是发送一个offsetrequest,指定它要重置为哪个值,比如说在您的情况下它是
EARLIEST
.kafka返回一个offsetresponse,在您的例子中是110。
您的消费者强制将当前偏移量设置为110,然后再次开始获取。