【发布时间】: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