如果制片人失败,Kafka会怎么做?

时间:2016-01-12 00:02:54

标签: twitter apache-kafka twitter-streaming-api

我对Kafka架构有点困惑。我们想要捕获Twitter Streaming API。我们遇到了这个https://github.com/NFLabs/kafka-twitter/blob/master/src/main/java/com/nflabs/peloton2/kafka/producer/TwitterProducer.java Twitter制片人。

我在想的是如何设计系统以使其具有容错能力。

如果生产商停产,是否意味着我们丢失了部分数据?如何防止这种情况发生?

1 个答案:

答案 0 :(得分:1)

如果您链接的制作人停止运行,则来自Twitter API的新数据将无法进入Kafka。我不确定Twitter Streaming API是如何工作的,但是有可能获得历史数据,允许您将所有数据提取回生产者失败时的点。

另一种选择是使用Kafka Connect,它是一种分布式容错服务,用于将数据源和接收器连接到Kafka。 Connect公开了更高级别的API,并在幕后使用开箱即用的生产者/消费者API。 documentation非常彻底地解释了Connect,所以请从那里开始阅读。