Kafka Consumer使用哪种语言

时间:2016-09-17 10:04:26

标签: java node.js apache-kafka

我正在尝试建立一个Kafka系统。由于我项目中的大多数现有代码都已经在PHP中,因此我很可能会在PHP本身编写生成器。但在选择一种语言来写消费者时,我的约束相对较少。现在,有很多clients可以使用我正在修复。

另一方面,为了在这里选择合适的技术,应该记住哪些因素?

特别想应用这些知识在java客户端与节点客户端之间进行选择(多线程模型与异步模型)

任何帮助都将受到高度赞赏。

3 个答案:

答案 0 :(得分:5)

Java客户端是最先进的客户端,并得到Kafka项目的正式支持 - 大多数其他客户端是第三方项目,许多客户端没有实现所有可用功能。

因此,我建议使用Java客户端。

答案 1 :(得分:0)

就Kafka而言,我使用官方Confluent支持的客户端使用任何语言:JVM,C / C ++ ,. NET,Python,Go

我确定你可以让其他人像Node或PHP一样工作,也许那些人可以使用C库,但我更喜欢有官方语言支持和更广泛的用户提问。

答案 2 :(得分:0)

Kafka基本上是用纯Java编写的,而Kafka的原生API是java,所以这是你没有使用第三方库的唯一语言。你总是比其他语言更有优势而且还有额外的开销

Node.js未针对高吞吐量应用程序(如Kafka)进行优化。因此,如果您需要Kafka标准的高处理速率,或者可能是C ++。

另外,我相信用Java编写的Kafka消费者客户有很好的社区支持。所以使用java实现它是有意义的,只要你没有任何其他依赖性阻止你实现它。

另外,请使用各种Kafka客户端查看benchmarking results。结果形成对比。

Client Type Throughput(No of messages)
Java        40,000 - 50,0000
Go          28,000 - 30,0000
Node         6,000 -  8,0000
Kafka-pixy     700 -    800
Logstash       250