繁体   English   中英

如何使用任何Node JS模块将Kafka使用者与SSL设置连接起来

[英]How to connect Kafka consumer with SSL setup with any of Node JS modules

我想连接供应商提供的外部kafka主题; 因为我们已经在Node JS上开发了服务。

所以我在寻找

NodeJS kafka消费者和SSL设置;

因为kafka-server需要握手时的细节;

这就是我用kafkajs模块尝试过的

var fs = require('fs');
var Kafka = require('kafkajs').Kafka;
var logLevel = require('kafkajs').logLevel;


var _kafka = new Kafka({
    clientId: 'my-app',
    brokers: ['broker:9093'],
    logLevel: logLevel.DEBUG,
    ssl: {
        rejectUnauthorized: false,
        ca: [fs.readFileSync('./cert/ca.trust.certificate.pem', 'utf-8')],
        cert: fs.readFileSync('./cert/client-cert-signed.pem', 'utf-8'),
    }
});


try {
    const consumer = _kafka.consumer({ groupId: 'test-group' }, { maxWaitTimeInMs: 3000 });

    consumer.connect();
    consumer.subscribe({ topic: 'external-topic', fromBeginning: true });

    consumer.run({
        eachMessage: async({ topic, partition, message }) => {
            console.log({
                partition: 2,
                offset: message.offset,
                value: message.value.toString(),
            })
        },
    })
} catch (err) {
    console.log('Error while connect : ' + err);
}

它正在给予

连接错误:101057795:错误:1408E0F4:SSL例程:ssl3_get_message:意外消息:openssl \\ ssl \\ s3_both.c:408:\\连接时;

你能帮我解决一下或建议我任何npm模块,这样我就可以尝试一些例子了。

忘了在ssl选项中添加key属性; 因为这是握手时的强制性;

暂无
暂无

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

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