Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache kafka Kafka群集长期停机后,消费者是否恢复_Apache Kafka_Kafka Consumer Api - Fatal编程技术网

Apache kafka Kafka群集长期停机后,消费者是否恢复

Apache kafka Kafka群集长期停机后,消费者是否恢复,apache-kafka,kafka-consumer-api,Apache Kafka,Kafka Consumer Api,我在服务器启动时启动Kafka consumer。如果卡夫卡集群长时间(几个小时)宕机,消费者会怎么样?Kafka再次启动后,它会收到消息吗?这最终取决于您如何处理客户端中的连接异常 如果您的断路器类型逻辑为重试+几次后失败,则消耗循环将停止。否则,如果盲目地执行while(true)循环,则使用者将继续尝试读取消息,并在每个请求(心跳、获取或轮询)上记录错误。随着Kafka协议的工作,他们始终是以请求/应答方式开始与集群通信的客户端(在本例中为使用者)。 这意味着,如果集群宕机,消费者将仅在其

我在服务器启动时启动Kafka consumer。如果卡夫卡集群长时间(几个小时)宕机,消费者会怎么样?Kafka再次启动后,它会收到消息吗?

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


如果您的断路器类型逻辑为重试+几次后失败,则消耗循环将停止。否则,如果盲目地执行while(true)循环,则使用者将继续尝试读取消息,并在每个请求(心跳、获取或轮询)上记录错误。

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

Kafka将消息和当前偏移量值存储在磁盘中,存储时间在代理配置中定义为log.retention(默认值为168小时)。因此,在停机期间,消费者每次尝试投票时都会出现“Broker可能不可用”错误。当kafka启动时,如果停机时间小于log.retention time,则您的消费者将继续接收和使用消息,而不会有任何损失