我对Kafka建筑有点困惑。我们想捕捉推特流api。我们遇到了这个https://github.com/nflabs/kafka-twitter/blob/master/src/main/java/com/nflabs/peloton2/kafka/producer/twitterproducer.java 推特制作人。
我想的是如何设计系统,使其具有容错性。
如果生产商倒闭,是否意味着我们失去了一些数据?如何防止这种情况发生?
我对Kafka建筑有点困惑。我们想捕捉推特流api。我们遇到了这个https://github.com/nflabs/kafka-twitter/blob/master/src/main/java/com/nflabs/peloton2/kafka/producer/twitterproducer.java 推特制作人。
我想的是如何设计系统,使其具有容错性。
如果生产商倒闭,是否意味着我们失去了一些数据?如何防止这种情况发生?
1条答案
按热度按时间chhkpiq41#
如果你链接到的生产者停止运行,twitterapi的新数据将不会进入kafka。我不确定twitter流式api是如何工作的,但它可能会获取历史数据,允许您将所有数据恢复到生产者失败的时候。
另一种选择是使用kafka connect,这是一种分布式容错服务,用于将数据源和接收器连接到kafka。connect公开了一个更高级别的api,并在幕后使用现成的生产者/消费者api。文档非常透彻地解释了connect,所以请阅读并从那里开始。