嗨,我有两个服务,一个在golang,另一个在nodejs
《金刚一号》正在为卡夫卡制作以下代码
var network bytes.Buffer
enc := gob.NewEncoder(&network)
enc.Encode(product)
produce_to_kafka("add", network.Bytes())
节点正在使用以下内容
await consumer.run({
eachMessage: async ({ topic, partition, message, heartbeat }) => {
console.log({
key: message.key.toString(),
value: new Buffer.from(message.value, "binary").toString('ascii'),
headers: message.headers,
})
},
})
正如你们所看到的,我试着用缓冲区进行投射。使用ascii、二进制和base64,但未能成功完成。
这是控制台。日志我进入nodejs
[categories] key: 'add',
[categories] value: '\x7FO\x7F\x01\x03\x01\x01\x07Product\x01\x7F\x02\x00\x01\x0F\x01\x04Name\x01\f\x00\x01\x02Id\x01\f\x00\x01\x07Storeid\x01\f\x00\x01\tStoreProd\x01\f\x00\x01\x05Price\x01\b\x00\x01\bDiscount\x01\b\x00\x01\x05Brand\x01\f\x00\x01\n' +
[categories] 'Categories\x01\x7F\x04\x00\x01\x04Tags\x01\x7F\x04\x00\x01\bLocation\x01\f\x00\x01\x07InStock\x01\x04\x00\x01\n' +
[categories] 'ExpiryDate\x01\f\x00\x01\tTotalSold\x01\x04\x00\x01\x11LastStockAddition\x01\f\x00\x01\x04Cost\x01\x04\x00\x00\x00\x16\x7F\x03\x02\x01\x01\b[]string\x01\x7F\x04\x00\x01\f\x00\x00i\x7F\x02\x01\x04Stng\x01\x05Stngp\x01\x01t\x01\x06tStngp\x01@\x01@\x01\x06String\x01\x01\x05askdl\x01\x01\x05asdas\x01\x06String\x01\x04\x01\x102021-10-03 12:13\x01\x06\x01\x102021-10-03 12:13\x01\b\x00',
[categories] headers: {}
[categories] }
此外,我在golang中有一个相同主题的消费,可以使用以下代码成功地将其解析回struct
var network bytes.Buffer;
network.WriteString(string(ev.Value))
dec := gob.NewDecoder(&network)
var q model.Product
err = dec.Decode(&q)
你能分享一些资源或语法吗?我如何在nodejs中做到这一点