消费者重连后,Batch是否存在消息序列及批量组成保证?
问题解答
关于已接收Batch断开重连后原有消息的归属:
Kafka Consumer的Batch是内存临时结构,仅存在于当前连接的Consumer进程中。一旦连接断开,之前的Batch会直接被销毁。重连后,Consumer会重新拉取未提交偏移量的消息,但这些消息会被打包进新创建的Batch,不会回到之前的旧Batch里。关于断开后新增消息是否加入旧Batch:
不可能实现。断开连接后旧Batch已不复存在,队列中新增的消息会在Consumer重连后,和未确认的旧消息一起被拉取,最终进入新生成的Batch中。
内容的提问来源于stack exchange,提问作者artistotless
相关产品推荐
相关产品推荐

