我想建立一个Kafka体系。由于我的项目中的大多数现有代码已经在php中了,所以我很可能会用php本身编写生产者。但我相对来说,在选择一种语言来为消费者写作的时候,就没有那么拘束了。现在,有这么多的客户端可以使用,我在修复。另一方面,为了选择合适的技术在这里,什么是各种因素,应该牢记在心?特别希望应用这些知识在java客户机和节点客户机(多线程模型和异步模型)之间进行选择任何帮助都将不胜感激。
ruoxqz4g1#
java客户机是最先进的客户机,并得到kafka项目的正式支持——大多数其他客户机是第三方项目,许多客户机并没有实现所有可用的特性。因此,我建议使用java客户机。
k2arahey2#
至于kafka,我会使用任何一种带有官方合流支持客户端的语言:jvm、c/c++、.net、python、go我相信你可以让其他人像node或php那样工作,也许他们可以使用c库,但我更喜欢有官方语言支持和更广泛的用户提问的东西。
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
3条答案
按热度按时间ruoxqz4g1#
java客户机是最先进的客户机,并得到kafka项目的正式支持——大多数其他客户机是第三方项目,许多客户机并没有实现所有可用的特性。
因此,我建议使用java客户机。
k2arahey2#
至于kafka,我会使用任何一种带有官方合流支持客户端的语言:jvm、c/c++、.net、python、go
我相信你可以让其他人像node或php那样工作,也许他们可以使用c库,但我更喜欢有官方语言支持和更广泛的用户提问的东西。
ljsrvy3e3#
kafka基本上是用纯java编写的,kafka的原生api是java,因此这是唯一一种不使用第三方库的语言。与其他语言相比,用其他语言编写总是有一个额外的开销。
node.js没有针对kafka等高吞吐量应用程序进行优化。因此,如果您需要kafka或c++标准的高处理率。
另外,我相信用java编写的kafka客户机有很好的社区支持。因此,使用java实现它是有意义的,只要您没有任何其他依赖关系阻止您从java实现它。
此外,还可以使用各种kafka客户机来查看基准测试结果。结果是相反的。