首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Kafka集群长时间宕机后,消费者是否会恢复

Kafka集群长时间宕机后,消费者是否会恢复
EN

Stack Overflow用户
提问于 2019-12-12 10:13:14
回答 3查看 172关注 0票数 0

我在服务器启动时启动Kafka consumer。如果Kafka集群长时间(几个小时)宕机,对消费者会有什么影响?Kafka再次上线后会收到消息吗?

EN

回答 3

Stack Overflow用户

发布于 2019-12-12 10:54:15

这最终取决于您如何处理客户端中的连接异常。

如果在几次之后有一个断路器类型的逻辑retry+fail,那么消费循环就会停止。否则,如果您盲目地执行while(true)循环,那么使用者将继续尝试读取消息,并记录每个请求(心跳、获取或轮询)的错误

票数 0
EN

Stack Overflow用户

发布于 2019-12-12 14:24:55

当Kafka协议工作时,它们始终是客户端(在本例中是消费者),以请求/回复的方式开始与集群通信。这意味着如果集群宕机,消费者将仅在其下一个请求(可能是元数据请求或获取请求)时获得此状态。没有从代理到客户端的推送机制来告诉他们集群恢复正常工作。因此,它取决于消费者的逻辑以及它轮询获取消息的次数;正如@cricket_007已经提到的,它将记录错误。

票数 0
EN

Stack Overflow用户

发布于 2019-12-19 06:00:16

Kafka将消息和当前偏移值存储在磁盘中,时间在broker配置中定义为log.retention (默认值为168小时)。因此,在停机期间,您的消费者在每次尝试轮询时都会收到"Broker可能不可用“错误。当kafka上线时,如果停机时间小于log.retention时间,那么您的消费者将继续接收和消费消息,不会有任何损失。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59296749

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档