【问题标题】:can i use kafka consumer/producer in angular 9. to connect with node server?我可以在 Angular 9 中使用 kafka 消费者/生产者来连接节点服务器吗?
【发布时间】:2020-09-21 01:11:37
【问题描述】:

我正在尝试使用 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);
}

【问题讨论】:

  • 如果您将 Kafka 代码发送给客户端,那么您需要更新代理上的广告侦听器......但是在浏览器中运行 Kafka 客户端实际上是不可能的,AFAIK,最好使用 websockets
  • 是的,我为此创建了一个微服务来与后端服务器通信,我的客户端将使用 socket-io 与该微服务通信

标签: node.js angular apache-kafka kafka-consumer-api


【解决方案1】:

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

最好使用 websockets,所以我为此创建了一个微服务 (NodeJs) 来与后端服务器通信,我的客户端将使用 socket-io 与该微服务 (NodeJS) 通信

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-12-31
    • 2019-12-02
    • 2018-07-13
    • 2019-01-15
    • 1970-01-01
    • 2022-01-06
    • 2014-04-09
    • 2019-11-01
    相关资源
    最近更新 更多