繁体   English   中英

有什么办法可以将融合模式注册表与kafka-node模块一起使用吗?

[英]Is there any way to use confluent schema registry with kafka-node module?

我已经在node.js中实现了Avro模式,该模式随消息有效负载一起发送。 而且工作正常。 我正在寻找是否可以将架构注册表与Kafka-node模块一起使用。 我进行了探索,但未成功找到任何东西。

在每个消息中发送模式会增加消息大小吗? 与使用架构注册表相比,它会影响性能吗?

任何帮助,将不胜感激。

您可以使用“ avro-schema-registry ”模块。 它为我工作。 我也是Kafka的新手,只是尝试一下。

const kafka = require('kafka-node');
const avroSchemaRegistry = require('avro-schema-registry');

/* Configuration */
const kafkaTopic = 'newkafkatopic';//'kafka.test';
const host =  'localhost:9092';
const schemaRegistry = 'http://localhost:8081';

const Consumer = kafka.Consumer;
const Client = kafka.KafkaClient;
const registry = avroSchemaRegistry(schemaRegistry);

var client = new Client(host);
var topics = [{
  topic: kafkaTopic
}];

var options = {
  autoCommit: false,
  fetchMaxWaitMs: 1000,
  fetchMaxBytes: 1024 * 1024,
  encoding: 'buffer'
};

var consumer = new Consumer(client, topics, options);

consumer.on('message', function(rawMessage) {
  console.log("Raw Message", rawMessage);

  registry.decode(rawMessage.value)
    .then((msg) => {
      console.log(msg)
    })
    .catch(err=>console.log(err))
});

consumer.on('error', (e) => {
  console.log(e.message)
  consumer.close();
})

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM