我在生产中有一个应用程序,每天必须处理好几GB的消息。我非常喜欢Kafka的建筑和表演;它完全符合我的需要。我想在某个时候用Kafka替换我的消息层。在性能的稳定性和一致性方面,0.7.1版本是否足以满足生产使用?
wixjitnu1#
我用Kafka已经有相当一段时间了。最好使用本地java和python客户机。为了找到一个合适的node.js客户端,我费了很大劲。实际上,我使用不同的客户机多次重新编写了我的整个代码,因为它们有很多bug。最终与franz kafka就node.js达成协议。除此之外,维持消费者补偿有点困难。它缺少一些好的特性,比如基于amqp的apacheqpid或rabbitmq中存在的交换因为它是分布式的,支持离线消息,性能非常出色。我也喜欢:)
wqnecbli2#
有一个关键的特点,我认为Kafka是失踪之前,它准备生产。“如果制作人联系不到任何Kafka经纪人,则将消息刷新到光盘”这一问题很久以前就在这里提出:https://issues.apache.org/jira/browse/kafka-156这个特性将使完整的kafka事件管道对于某些用例更加健壮,因为生产者总是能够发送事件。例如,当您跟踪页面浏览量或类似按钮单击时,您不想错过任何事件,即使所有kafka代理都无法访问。
6qfn3psc3#
我必须同意戴夫,Kafka是一个很好的工具,但它缺少一些基本功能,有些可以手动完成,但你需要想想Kafka提供了什么。缺少的是:(正如戴夫所说)当生产者无法发送消息时,将消息刷新到磁盘消费者能够跟踪哪些消息被处理(不仅仅是被消费),哪些消息在重启时没有被处理。监视—一种接收系统中实体的当前状态的方法,如生产者中队列的当前大小或代理中的写入/读取速度(这些可以完成,但不是工具的一部分)。
ergxz8rk4#
它肯定已经在几家大数据公司使用,包括linkedin和tumblr。仅仅tumblr本身每天就可以处理许多千兆字节的消息。我肯定linkedin也在上面。您可以在此处查看已知当前使用它的公司列表:https://cwiki.apache.org/confluence/display/kafka/powered+by另外,一定要订阅他们的邮件列表,有很多人正在积极尝试,并在生产环境中使用它。我相信它能处理任何你能扔的音量。
4条答案
按热度按时间wixjitnu1#
我用Kafka已经有相当一段时间了。最好使用本地java和python客户机。
为了找到一个合适的node.js客户端,我费了很大劲。实际上,我使用不同的客户机多次重新编写了我的整个代码,因为它们有很多bug。最终与franz kafka就node.js达成协议。
除此之外,维持消费者补偿有点困难。它缺少一些好的特性,比如基于amqp的apacheqpid或rabbitmq中存在的交换
因为它是分布式的,支持离线消息,性能非常出色。我也喜欢:)
wqnecbli2#
有一个关键的特点,我认为Kafka是失踪之前,它准备生产。
“如果制作人联系不到任何Kafka经纪人,则将消息刷新到光盘”这一问题很久以前就在这里提出:https://issues.apache.org/jira/browse/kafka-156
这个特性将使完整的kafka事件管道对于某些用例更加健壮,因为生产者总是能够发送事件。例如,当您跟踪页面浏览量或类似按钮单击时,您不想错过任何事件,即使所有kafka代理都无法访问。
6qfn3psc3#
我必须同意戴夫,Kafka是一个很好的工具,但它缺少一些基本功能,有些可以手动完成,但你需要想想Kafka提供了什么。缺少的是:
(正如戴夫所说)当生产者无法发送消息时,将消息刷新到磁盘
消费者能够跟踪哪些消息被处理(不仅仅是被消费),哪些消息在重启时没有被处理。
监视—一种接收系统中实体的当前状态的方法,如生产者中队列的当前大小或代理中的写入/读取速度(这些可以完成,但不是工具的一部分)。
ergxz8rk4#
它肯定已经在几家大数据公司使用,包括linkedin和tumblr。仅仅tumblr本身每天就可以处理许多千兆字节的消息。我肯定linkedin也在上面。您可以在此处查看已知当前使用它的公司列表:
https://cwiki.apache.org/confluence/display/kafka/powered+by
另外,一定要订阅他们的邮件列表,有很多人正在积极尝试,并在生产环境中使用它。
我相信它能处理任何你能扔的音量。