2017-06-01 37 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。它與性能無關。 –