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