2017-04-16 75 views
4

我想用我的Node.JS服務中的Kafka作爲消息代理,並且正在討論kafka-nodenode-rdkafka庫之間的爭論。比較kafka-node和node-rdkafka

我開始測試kafka-node的功能(該庫似乎更受歡迎),並且能夠創建一個生產者,用它寫信給Kafka,創建一個消費者,並從中讀取卡夫卡。 但是,我注意到該庫目前不支持一些Kafka功能,例如編寫時間戳和lz4壓縮(我使用的Scala驅動程序支持的功能)。

有沒有人在kafka-node(或node-rdkafka)遇到這些或其他挫折,並決定使用另一個庫,由於他們?

+0

我們測試了兩者。 rdkafka上的生產者緩衝消息,然後根據蜜糖的大小和數量發送給kafka,所以當經紀商出現故障時它不會發生錯誤。 kafka-node中的消費者在手動提交時遇到了問題,這是我們在這種情況下需要的。所以我們決定在node-rdkafka上有kafka-node和consumer的製作人。 –

回答

5

Michal,

我最近完成了兩個庫的比較。 http://www.tivix.com/blog/nodejs-kafka-producers/。你會找到兩個客戶端的實現。總之,我發現rdkafka的CPU利用率低於節點kafka。此外,它由暴雪維護,所以我相信他們會很樂意接受你提供的任何PR。