kafka-node:发送枚举密钥消息(而不是字符串密钥)

时间:2016-05-02 09:54:02

标签: node.js apache-kafka

我正在使用kafka-node从我的node.js网络服务器生成消息。我的消费者是另一个后端系统(用c librdkafka编写)。

我想知道如何发送键控消息(使用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());

1 个答案:

答案 0 :(得分:0)

只是为了保持更新,如果它可以帮助某人.. 我咨询了两个图书馆开发者小组: C ++:librdkafka支持所有类型的键(int / enum) - 你可以看到这个issue

JavaScript:kafka-node仍然不支持它,但它在1.0.0的路线图中,你可以从issue看到。

目前,由于kafka-node的限制,我正在使用字符串密钥 - 希望他们将来也支持其他密钥类型。

全部谢谢!