【问题标题】:How to write a jsonArray to kafka topic in node js如何在节点 js 中将 jsonArray 写入 kafka 主题
【发布时间】:2021-04-29 00:41:36
【问题描述】:

如何在节点js中将数组(有json字符串)写入Kakfa主题?

【问题讨论】:

    标签: node.js arrays json apache-kafka


    【解决方案1】:
    server.on('package:publish', async event => {
      try {
        const responses = await producer.send({
          topic: process.env.TOPIC,
          messages: [{
            // Name of the published package as key, to make sure that we process events in order
            key: event.name,
    
            // The message value is just bytes to Kafka, so we need to serialize our JavaScript
            // object to a JSON string. Other serialization methods like Avro are available.
            value: JSON.stringify(array)
          }]
        })
    
        console.log('Published message', { responses })
      } catch (error) {
        console.error('Error publishing message', error)
      }
    })
    

    消息值对于 Kafka 来说只是字节,所以我们需要序列化我们的 JavaScript 对象为 JSON 字符串。其他序列化方法如 Avro 可用。

    只需将您的数组数据包装为JSON.stringify(array) 并以值形式发送, 在消费者端,您可以使用 JSON.parse(message.value)

    解析它

    这里有一些帮助链接https://www.confluent.io/blog/getting-started-with-kafkajs/

    https://www.npmjs.com/package/kafka-node#producer

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-09-16
      • 2015-10-13
      • 2020-03-21
      • 1970-01-01
      • 2019-04-23
      • 2020-09-14
      • 1970-01-01
      • 2016-04-24
      相关资源
      最近更新 更多