Как связать потребителя Kafka с настройкой SSL с любым из модулей Node JS - PullRequest
0 голосов
/ 21 мая 2019

хочу подключить внешнюю тему кафки, предоставленную вендором;поскольку мы уже разработали сервис поверх Node JS.

Поэтому я ищу

NodeJS kafka для потребителей и с настройкой SSL;

какkafka-серверу нужны детали во время рукопожатия;

Это то, что я пытался с 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, так что я могу дать примеры, так приветствуются.

1 Ответ

0 голосов
/ 28 мая 2019

Забыл добавить атрибут key в ssl Параметры; так как этот является обязательным при рукопожатии;

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...