imeay/blog

kafka 学习及知识点整理

imeay opened this issue · 0 comments

imeay commented

相关链接

kafka官方文档
node-kafka 库
Kafka剖析

mac 上安装及启动 kafka 服务

安装

brew install kafka

启动

启动kafka

brew services start kafka 

启动

brew services start zookeeper

在终端上练习kafka相关命令

创建topic

kafka-topics --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic first-kafka-topic

上面命令中

  • --create 表示创建
  • --zookeeper localhost:2181 指定zookeeper的ip和端口
  • --replication-factor 1 表示topic的副本为1
  • --partitions 1 表示分区为1
  • --topic first-kafka-topic 表示创建一个名为 first-kafka-topic 的 topic

创建生产者

kafka-console-producer --broker-list localhost:9092 --topic first-kafka-topic

在执行这条指令后,会让你继续输入,enter确认后,消费者就能收到该消息

创建消费者

kafka-console-consumer --bootstrap-server localhost:9092 --topic first-kafka-topic 

node 接入 kafka 示列代码

还不是了解 kafka-node,需要花多一点时间了解下

以下代码只涉及消费

const kafka = require('kafka-node');
const Consumer = kafka.Consumer;
const client = new kafka.KafkaClient({kafkaHost: 'localhost:9092'});

const consumer = new Consumer(
        client,
        [
           { topic: 'first-kafka-topic'}
        ]
);

consumer.on('message', function (message) {
    console.log(message);
});