flume vs kafka vs others [关闭]

问题描述 投票:19回答:1

也许是以前曾问过这个问题,但是鉴于这些技术已经成熟,我认为今天再次考虑这个问题是很好的。我们正在寻找使用flume,kafka,scribe或其他工具之一将流式Facebook和Twitter个人资料信息存储到hbase中,以便以后进行分析。我们正在考虑将水槽用于此目的,但为了做出明智的决定,我没有与其他技术合作。任何可以透露一些信息的人都将很棒!非常感谢。

scribe flume
1个回答
21
投票

[Mediawiki(Wikipedia)经历了这一过程,并发表了一篇不错的文章,介绍了他们如何选择(Kafka)还是Scribe,Flume和其他人。

http://www.mediawiki.org/wiki/Analytics/Kraken/Request_Logging

新链接:https://wikitech.wikimedia.org/wiki/Analytics/Archive/Hadoop_Logging_-_Solutions_Recommendation

后代摘要:

“”我们的建议是Apache Kafka,这是一种为处理吞吐量而设计的分布式pub-sub消息传递系统。我们评估了大约十[1]个最佳系统,这些系统来自分布式日志收集,CEP /流处理和实际时消息系统。尽管这些系统提供令人惊讶的相似功能,但它们的实现方式却大不相同,并且每个系统都专用于特定的工作资料(附录中提供了更详尽的技术讨论)。

“ Kafka之所以脱颖而出,是因为它专用于吞吐量,并且明确地分布在其体系结构的所有层中。有趣的是,它还非常关注资源节约[2],以提供明智的权衡取舍,以换取性能以换取担保,这可能不能将Facebook或Google视为他们设计的系统中的重要功能。约束会激发创造力。

“此外,Kafka具有Operations读者特别感兴趣的几种特权。虽然它是用Scala编写的,但它附带了一个本机C ++生产者库,该库可以嵌入到我们的缓存服务器的模块中,从而无需运行这些服务器上的JVM。其次,可以将生产者配置为批处理请求以优化网络流量,但不创建需要额外维护的持久本地日志Kafka的I / O和内存使用量由OS而不是JVM决定。 [3]。

“ Kafka由LinkedIn编写,现在是一个Apache项目。在LinkedIn中的生产中,每个数据中心的八台Kafka服务器处理着大约10,000个生产者。这些集群将其流合并到一个分析数据中心,而Kafka可以立即对其进行支持。通过简单的镜像配置。

“这些功能非常适合我们的预期用例;即使是我们不打算使用的功能(例如按“主题”类别进行分片和路由)也很有趣,并且随着我们扩展我们的功能,将来可能会有用目标

“本文的其余部分将更详细地探讨这些主题...”

© www.soinside.com 2019 - 2024. All rights reserved.