kafkajs 库不工作远程 kafka 集群

问题描述

I am writing a Kafka producer using Kafkajs library and try to connect this below code with Kafka 
remote server.

Below is my node js code.
const express = require('express')
const app = express()
var path = require('path');
app.use(express.urlencoded({ extended: false }));
app.use(express.json())
const { Kafka } = require('kafkajs')

     
    const kafka = new Kafka({
      clientId: 'From-Node-Application',// brokers: ['localhost:9092']
      brokers: ['http://192.168.31.11:9092']
    })
  const producer = kafka.producer()


app.post('/masterdata',async (req,res) => {
  
    var todayTime = new Date();
    const {comp_name,med_name,med_price,stock_number} = req.body;
    
    console.log( 
 `employee_id:${comp_name},employee_name:${med_name},employee_salary:${med_price}`);

  try {
  
    await producer.connect()
    await producer.send({
    topic: 'employee-details',messages: [
        { value: 
  `employee_id:${comp_name},employee_salary:${med_price}` },],}) 
  } catch (error) {

    console.log(error,"Data is Not valid,Request you to Check Schema Definition!");
  }

   
        res.sendFile(path.join(__dirname + '/master.html'));
    })


app.listen(3000,()=>{
    console.log("Application listen on PORT 3000")
})
#But I am getting the below error.

{"level":"ERROR","timestamp":"2021-05-12T13:33:23.179Z","logger":"kafkajs","message":"[BrokerPool] 无法连接到种子代理,尝试列表中的另一个代理:连接失败:端口应 >= 0 且 = 0 且

我也更改了 server.properties 代码,请查看以下代码详细信息以供参考。

听众=PLAINTEXT://0.0.0.0:9092 Adverted.listeners=PLAINTEXT://192.168.31.11:9092 listener.security.protocol.map=PLAINTEXT:PLAINTEXT,SSL:SSL,SASL_PLAINTEXT:SASL_PLAINTEXT,SASL_SSL:SASL_SSL num.network.threads=3

当我在同一台服务器上的 node 和 Kafka 等一台服务器上运行所有代码时,我没有收到任何错误,即使我尝试过这样的 ngrok -> ngrok HTTP 9092 但我得到了和我上面分享的一样的错误。

我怀疑是否有任何方法可以从互联网上的任何地方连接我们的 Kafka 代理。

请求您帮助我解决此问题。

提前致谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)