我有一个生产中的应用程序,每天必须处理几千兆字节的消息。我喜欢卡夫卡的建筑和表演;它非常符合我的需求。
我想在某个时候用Kafka替换我的消息传递层。 0.7.1版本在稳定性和性能一致性方面是否足以用于生产?
答案 0 :(得分:13)
它已经在几家大数据公司使用,包括LinkedIn,它在那里创建(后来开源)和Tumblr。 Just Tumblr本身每天处理许多千兆字节的消息。我相信LinkedIn也在那里。您可以在此处查看当前已知的公司列表:
https://cwiki.apache.org/confluence/display/KAFKA/Powered+By
此外,请务必订阅他们的邮件列表,有很多人积极尝试并在生产环境中使用它。
我确信它可以处理你可以投入的任何音量。
答案 1 :(得分:10)
我认为Kafka在准备投产之前缺少一个关键功能。
“如果制作人无法联系任何Kafka经纪人,请将邮件刷新到光盘” 这个问题很久以前在这里提出: https://issues.apache.org/jira/browse/KAFKA-156
当生产者始终必须能够发送事件时,此功能将使完整的Kafka事件pipline对于某些用例更加健壮。例如,当您跟踪综合浏览量或类似按钮点击并且您不想错过任何事件时,即使所有Kafka经纪人都无法访问。
答案 2 :(得分:3)
我必须同意Dave,Kafka是一个很好的工具,但它缺少一些基本的功能,有些可以手动完成但是你需要考虑Kafka提供的功能。一些遗漏的东西是:
答案 3 :(得分:2)
我已经使用过kafka很长一段时间了。使用本机java和python客户端将是首选。
我不得不努力寻找合适的node.js客户端。我使用不同的客户端多次重写我的整个代码,因为他们有很多错误。 最后以franz-kafka与node.js结算。
除了保持消费者抵消有点困难。它缺少一些很好的功能,比如基于AMQP的Apache Qpid或RabbitMQ中存在的交换
由于它是分布式的,支持离线消息,性能确实令人印象深刻。我太喜欢了:))