2017-06-01 73 views
1

@kafka用户:python vs java for kafka implementation

我一直在尝试理解包括PyPy客户端在内的python客户端。下面是一个很好的标杆,我读并实现一些类似的结果:

http://mrafayaleem.com/2016/03/31/apache-kafka-producer-benchmarks/

我感到非常困惑的Java是否有过蟒蛇一个巨大的优势,因为库是使用Java和卡夫卡写的。所以我的问题是,在使用Java的时候,Java中的Kafka本地实现是否可以极大地提高性能,或者PyPy/Python的工作性能同样更好?

作为一个Python程序员,我不是用java所有舒适,因此困惑。

回答

3

Apache Kafka定义了一种语言中性线协议(请参阅https://kafka.apache.org/protocol),因此客户端可以用任何编程语言编写,并且不需要基于Kafka核心发行版附带的Java客户端。例如,c/C++ librdkafka库是非常高性能的非Java客户端。有许多python Kafka客户端,其中一个基于librdkafka。对于各种卡夫卡的Python客户基准测试结果和其他的比较信息请点击这里http://activisiongamescience.github.io/2016/06/15/Kafka-Client-Benchmarking/

+0

非常感谢。只是一个简单的问题,似乎有很多这教卡夫卡和其他的Apache栈的Java课程,实际上让我假设母语的实施有助于提高性能。因此,根据你的答案,你是说卡夫卡蟒蛇和其他客户端仅仅是交流能力,有少做实际的后台引擎? – Omkar

+1

Java客户端随Kafka一起发布,所有其他客户端分别发货。这就是为什么大多数在线资料都专注于Java。它与性能无关。 –