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。

uuid:UUID(Universally Unique Identifier)是一种用于唯一标识消息的标识符。每个消息都会被分配一个UUID,以确保消息的唯一性和跟踪性。uuid放在放在message里,可以用uuidv4生成。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值