kafka 简单测试

以前队列都用的其他的,没用过 kafka,听说延迟和吞吐都不错,测试一下,后面说不定能用上。

直接运行

wget https://dlcdn.apache.org/kafka/3.1.0/kafka_2.13-3.1.0.tgz
tar -zxvf kafka_*.tgz

启动 zookeeper

bin/zookeeper-server-start.sh -daemon config/zookeeper.properties

后台运行。logs 文件夹可看到输出。

启动 kafka

bin/kafka-server-start.sh -daemon config/server.properties

后台运行。logs 文件夹可看到输出。

停止

bin/zookeeper-server-stop.sh
bin/kafka-server-stop.sh

docker 运行

可以直接拉镜像运行,这里在网上找了一个 compose 的配置

docker-compose.yml

version: "3"
services:
  zookeeper:
    image: wurstmeister/zookeeper
    ports:
      - "2181:2181"
  kafka:
    image: wurstmeister/kafka
    depends_on: [zookeeper]
    ports:
      - "9092:9092"
    environment:
      KAFKA_ADVERTISED_HOST_NAME: localhost
      KAFKA_CREATE_TOPICS: "test"
      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock

打包

docker-compose build

启动, 添加 -d 可以后台启动。

sudo docker-compose up

自带工具测试

创建 topic

bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic test
bin/kafka-topics.sh --list --bootstrap-server localhost:9092

测试产生消息

bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test

测试消费消息

bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning

据说 --bootstrap-server 是新方法,不像以前要访问 zk。

查看描述 topics 信息

bin/kafka-topics.sh --describe --bootstrap-server localhost:9092 --topic test

kafkacat 测试

sudo apt install kafkacat

基本信息

kafkacat -L -b localhost:9092

生产消费

kafkacat -P -b localhost:9092 -t test
kafkacat -C -b localhost:9092 -t test

C++ 测试

貌似 apt 能找到对应的开发库。

sudo apt install librdkafka-dev 

有 c 和 c++ 的 api,不过不好用。。

测试会自动重连。
每次都会得到消息。。需要 group id 相同?
分区什么的也搞不懂,以后用上了再说吧。


Share Tweet Send
0 Comments
Loading...
You've successfully subscribed to 隔窗听雨
Great! Next, complete checkout for full access to 隔窗听雨
Welcome back! You've successfully signed in
Success! Your account is fully activated, you now have access to all content.
豫ICP备19045256号-1