当所有经纪人倒闭时,卡夫卡如何处理生产商?

时间:2017-09-12 16:11:34

标签: java spring apache-kafka kafka-producer-api

在研究和测试卡夫卡时,出现了一个疑问:

一切都停止时,Kafka如何处理生成记录

我知道消费者在民意调查中超时,并且会不时对新记录进行轮询,直到Kafka重新上线

我也知道制作人有一个添加到的队列。这是将内容推送到kafka的队列,但是如果整个Kafka群集关闭会发生什么?

由于显而易见的原因,Kafka集群不再接收记录,但客户端如何发生这种情况?

使用 Kafka for Spring ,是否有任何处理此问题的机制?

2 个答案:

答案 0 :(得分:0)

如果所有Kafka经纪商都关闭,那么就没有数据处理。您的数据流已丢失。我假设如果你有3个或更多Kafka经纪人,所有节点同时崩溃是很少见的。

如果任何一个节点关闭,那么DevOps作业应该抓住它并尝试重新启动它。如果重新启动失败,则应尝试启动新节点并将其添加到Kafka群集。这种自动化很复杂,需要DevOps团队实施和维护流程。

答案 1 :(得分:0)

这是非常罕见的情况,但是仍然可以解决此类问题并管理kafka传入的高吞吐量Kafka提供了Mirror Maker工具,该工具可帮助创建集群的其他副本。而且,如果当前群集已关闭,则生产者必须将消息发送给镜像生产者代理。 https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=27846330