簡體   English   中英

kafka-node:發送枚舉密鑰消息(而不是字符串密鑰)

[英]kafka-node: send enum key message (instead of string key)

我正在使用kafka-node從我的node.js Web服務器生成消息。 我的使用者是另一個后端系統(使用librdkafka用c ++ 編寫 )。

我想知道如何發送密鑰消息(使用kafka-node),其中密鑰是int(枚舉)而不是字符串。

node.js代碼(生產者):

var kafka = require('kafka-node'),
        Producer = kafka.Producer,
        KeyedMessage = kafka.KeyedMessage,
        client = new kafka.Client(),
        producer = new Producer(client),
        km = new KeyedMessage(1, (new MessageTypeSystemStatus({trace: [{ }] })).encode()),
        payloads = [
            { topic: 'Genesis', messages: km, partition: 0 }
        ];

C ++代碼(消費者):

Message* msg = mConsumer->consume(mTopic, mPartition, -1);
*(msg->key_pointer());

我只是與兩個庫開發人員小組進行了磋商:C ++:librdkafka支持所有類型的鍵(也包括int / enum),您可以看到此問題

JavaScript:kafka-node仍然不支持它,但是正如您從本期中看到的那樣,它在他們的1.0.0路線圖中。

目前,由於kafka-node的這種限制,我正在使用字符串鍵-希望它們將來也支持其他鍵類型。

謝謝大家!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM