【发布时间】:2018-02-21 04:44:38
【问题描述】:
在学习和测试 Kafka 的过程中,出现了一个疑问:
当一切都停止时,Kafka 如何处理记录的生成?
我知道消费者有一个民意调查超时,它会不时地继续投票以获取新记录,直到 Kafka 重新上线强>。
我还知道 Producers 有一个已添加到的队列。这是将内容推送到 kafka 的队列,但是如果整个 Kafka 集群宕机了怎么办?
由于显而易见的原因,Kafka 集群不再接收记录,但是客户端是如何发生的呢?
使用 Kafka for Spring,有什么机制可以处理这个问题吗?
【问题讨论】:
-
据我了解,如果它倒了,什么都进不出
-
我也是这么想的,但是客户端是怎么处理的呢?目的是知道会发生什么,所以整个系统都为此做好了准备,不会和kafka一起爆炸
-
这取决于它是如何关闭的,如果套接字仍然打开,那么客户端会挂起(即等待响应)直到超时(如果有的话)(超时异常)。如果套接字没有打开,你最终会没有连接(没有连接异常)
-
也许这会有所帮助:handling-broker-down-in-kafka
标签: java spring apache-kafka kafka-producer-api