我可以在 angular 9. 中使用 kafka consumer/producer 来连接节点服务器吗?

can i use kafka consumer/producer in angular 9. to connect with node server?

我正在尝试使用 angular-9 和 node.js 服务器从客户端连接 Kafka。

此代码在节点上 运行 我想在 angular9 上做同样的事情“


const kafka = require('kafka-node');
const bp = require('body-parser');
const config = require('./config');

try {
  const Consumer = kafka.HighLevelConsumer;
  const client = new kafka.Client(config.kafka_server);
  let consumer = new Consumer(
    client,
    [{ topic: config.kafka_topic, partition: 0 }],
    {
      autoCommit: true,
      fetchMaxWaitMs: 1000,
      fetchMaxBytes: 1024 * 1024,
      encoding: 'utf8',
      fromOffset: false
    }
  );
  consumer.on('message', async function(message) {
    console.log('here');
    console.log(
      'kafka-> ',
      message.value
    );
  })
  consumer.on('error', function(err) {
    console.log('error', err);
  });
}
catch(e) {
  console.log(e);
}

正如@OneCricketeer 上面所说,如果您将 Kafka 代码发送给客户端,那么您需要在代理上更新您的广告侦听器......但是 运行 浏览器中的 Kafka 客户端实际上是不可能的

最好使用websockets,所以我为此做了一个微服务(NodeJs)来与后端服务器通信,我的client-side将使用[=15=与那个微服务(NodeJS)通信]