2016-09-17 35 views
0

我正在嘗試設置卡夫卡系統。由於我項目中的大多數現有代碼已經在PHP中,所以我很可能會用PHP自己編寫生產者。但是在選擇一種語言來編寫消費者時,我的限制相對較少。現在,有這麼多的clients可以使用我正在修復。卡夫卡消費者使用哪種語言

在其他爲了選擇正確的技術在這裏,應該記住的各種因素是什麼?

尤其要運用這些知識的Java客戶端VS節點客戶端(多線程型號VS異步模型)

任何幫助將高度讚賞之間做出選擇。

回答

3

Java客戶端是最先進的客戶端,並且由Kafka項目正式支持 - 大多數其他客戶端都是第三方項目,許多客戶端並未實現所有可用功能。

因此,我會建議使用Java客戶端。

+0

感謝您的回覆。順便說一句,我還在尋找融合平臺,其中大部分東西都是開源的,但匯合控制中心除外。沒有這個控制中心,是否可以使用融合平臺?因爲我知道我工作的人在這個階段不會花錢買這樣的東西。 – ankitG

+0

是的。融合平臺可以在沒有控制中心的情況下使用。控制中心是Confluent Platform Enterprise的一部分。見http://www.confluent.io/product/ –

0

至於卡夫卡所說,我會使用任何語言與官方合流支持的客戶端:JVM,C/C++,.NET,Python和去

我敢肯定,你可以讓別人像Node或PHP一樣工作,也許這些可以使用C庫,但我更願意提供官方語言支持和更廣泛的用戶來提問。

0

Kafka基本上是用純Java編寫的,而Kafka的本地API是java,所以這是唯一沒有使用第三方庫的語言。您總是比其他語言編寫代碼更有優勢高架。

Node.js未針對高吞吐量應用程序(如Kafka)進行優化。所以如果你需要卡夫卡或者C++標準的高處理速度。

此外,我相信用Java編寫的卡夫卡消費者客戶端有很好的社區支持。因此,只要沒有任何其他依賴性阻止您實現它,就可以使用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