nodejs使用kafka

什么是卡夫卡(kafka)

是一种分布式的,基于发布/订阅的消息系统,消息以消息队列的形式进行发送

如何使用kafka

安装kafka

npm i kafka-node

配置config

配置kafka的地址和topic,放在config文件中方便修改配置

kafaka: {
    kafkaHost: "卡夫卡地址",
    topic1: "topic1",
    topic3: "topic2",
    topic2: "topic3",
  },

监听和发送

// 创建Kafka客户端
const client = new kafka.KafkaClient({ kafkaHost: config.kafaka.kafkaHost });

// 创建消费者
const kafaka_watch = new kafka.Consumer(client, [
  { topic: config.kafaka.topic_test }
]);

// 创建生产者
const producer = new kafka.Producer(client);
// 发送消息
function kafka_send(topic, messages) {
  const payload = [{ topic, messages }];
  producer.send(payload, function (err, data) {
    if (err) {
      console.error("Error sending message:", err);
    } else {
      // console.log("Message sent successfully:", JSON.parse(messages));
    }
  });
}

术语介绍

topic:Topic(主题)是消息的逻辑分类或者容器。它是 Kafka 中最基本的概念之一,用于组织和管理消息的发布和订阅。

我的理解是一个topic就是一个消息队列,为了让各种不同的消息不打岔,才分出不同的topic。

你可能感兴趣的:(nodejs后端开发,kafka,分布式)