【问题标题】:Comparing kafka-node and node-rdkafka比较 kafka-node 和 node-rdkafka
【发布时间】:2017-06-02 22:42:17
【问题描述】:

我想将 Kafka 与我的 Node.JS 服务一起用作消息代理,并在 kafka-nodenode-rdkafka 库之间进行辩论。

我开始测试 kafka-node 的功能(该库似乎更受欢迎)并且能够创建生产者,使用它写入 Kafka,创建消费者,并使用它从 Kafka 读取。 但是,我注意到该库目前不支持某些 Kafka 功能,例如写入时间戳和 lz4 压缩(我使用的 Scala 驱动程序支持的功能)。

是否有人在 kafka-node(或 node-rdkafka)中遇到这些或其他挫折并因此决定使用另一个库?

【问题讨论】:

  • 我们都测试过。 rdkafka 上的 producer 缓冲消息,然后根据消息的大小和数量发送到 kafka,因此在 broker 关闭时不会出错。 kafka-node 中的消费者在手动提交方面存在问题,这在我们的案例中是必需的。所以我们决定让生产者在 kafka-node 上,消费者在 node-rdkafka 上。

标签: node.js apache-kafka


【解决方案1】:

迈克尔,

我最近完成了两个库的比较。 http://www.tivix.com/blog/nodejs-kafka-producers/。您将找到两个客户端的实现。综上,我发现rdkafka的cpu利用率比node kafka低。此外,它由暴雪维护,所以我相信他们会很乐意接受你提供的任何 PR。

【讨论】:

  • 你能建议 kafka 与 node 的性能如何?是用java还是python比kafka更好
  • 在这个答案中从臀部拍摄了一点,但是将 kafka 与节点一起使用的好处是节点的异步 io,因此队列活动不会阻塞。我想 Java 有类似的可用方法,但是,我不确定 Python 是否是这种情况。
  • Michal,检查你的文章有 2 个错字“kaka-node”而不是 kafka-node。卡卡在法语中的意思是便便。所以最好解决这个问题。
猜你喜欢
  • 2017-12-30
  • 1970-01-01
  • 1970-01-01
  • 2022-09-30
  • 1970-01-01
  • 1970-01-01
  • 2022-11-17
  • 2018-06-11
  • 1970-01-01
相关资源
最近更新 更多