Kafka消费者使用哪种语言

p1iqtdky  于 2021-06-07  发布在  Kafka
关注(0)|答案(3)|浏览(430)

我想建立一个Kafka体系。由于我的项目中的大多数现有代码已经在php中了,所以我很可能会用php本身编写生产者。但我相对来说,在选择一种语言来为消费者写作的时候,就没有那么拘束了。现在,有这么多的客户端可以使用,我在修复。
另一方面,为了选择合适的技术在这里,什么是各种因素,应该牢记在心?
特别希望应用这些知识在java客户机和节点客户机(多线程模型和异步模型)之间进行选择
任何帮助都将不胜感激。

ruoxqz4g

ruoxqz4g1#

java客户机是最先进的客户机,并得到kafka项目的正式支持——大多数其他客户机是第三方项目,许多客户机并没有实现所有可用的特性。
因此,我建议使用java客户机。

k2arahey

k2arahey2#

至于kafka,我会使用任何一种带有官方合流支持客户端的语言:jvm、c/c++、.net、python、go
我相信你可以让其他人像node或php那样工作,也许他们可以使用c库,但我更喜欢有官方语言支持和更广泛的用户提问的东西。

ljsrvy3e

ljsrvy3e3#

kafka基本上是用纯java编写的,kafka的原生api是java,因此这是唯一一种不使用第三方库的语言。与其他语言相比,用其他语言编写总是有一个额外的开销。
node.js没有针对kafka等高吞吐量应用程序进行优化。因此,如果您需要kafka或c++标准的高处理率。
另外,我相信用java编写的kafka客户机有很好的社区支持。因此,使用java实现它是有意义的,只要您没有任何其他依赖关系阻止您从java实现它。
此外,还可以使用各种kafka客户机来查看基准测试结果。结果是相反的。

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

相关问题