kafka节点:发送枚举键消息(而不是字符串键)

rbl8hiat  于 2021-06-07  发布在  Kafka
关注(0)|答案(1)|浏览(357)

我正在使用kafka节点从node.js web服务器生成消息。我的使用者是另一个后端系统(使用librdkafka用c++编写)。
我想知道如何发送密钥消息(使用kafka节点),其中密钥是int(enum)而不是string。。
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());
gr8qqesn

gr8qqesn1#

只是为了保持更新,如果它可以帮助某人。。我咨询了两个库开发人员组:c++:librdkafka支持所有类型的键(int/enum),您可以看到这个问题。
javascript:kafka节点仍然不支持它,但是正如您在本期中看到的,它已经在1.0.0的路线图中了。
目前,由于kafka节点的这个限制,我正在使用一个字符串键-希望将来它们也能支持其他键类型。
谢谢大家!

相关问题