使用kafka使用者的数据库操作或http调用

时间:2019-03-08 00:01:33

标签: javascript node.js apache-kafka

我是Apache Kafka的新手。我有几个问题? 如果您使用Kafka生产者生产主题,而Kafka消费者收到消息

consumer.on('message', function (message) {
})

例如,如果我想将数据发送到某个数据库或调用API来更新我的数据库,那么最好在Consumer.on方法中进行所有编码

 consumer.on('message', function (message) {
    let data = await getPayload();//get payload
    //console.log(data,'data')
    //pause(topic,0); //pause until the prev request is completed
    request({
        url: process.env.API + '/some-api',
        method: 'POST',
        json: true,
        body: data
      }, function(err, response, body) {
        if (err) {
          console.error('got error', err);
          //resume(topic,0); resume when err/response recived 
        } else {
          // console.log('response', response);
          console.log('body', body);
          //resume(topic,0);
        }
    });
  })

是否有其他替代或推荐的方法?

1 个答案:

答案 0 :(得分:1)

在使用kafka并将其加载到您的案例中的任何接收器(如DB)中的同时,您需要了解如何处理所有失败,精确的一种语义等。 数据库接收器连接器已经可用(下面的链接),您可以检查其是否满足您的要求

kafka-connect-jdbc