kafka的架构和基本使用
2021-12-09 本文已影响0人
傻疯子
kafka是分布式高吞吐的基于发布订阅模式的消息队列,kafka利用磁盘顺序读写实现了高吞吐。
系统架构
topic:按业务情况进行分组的主题。
partition:分布式下的物理数据分区
producer:消息的生产者
consumer:消息的消费者,可以有多个consumer同时从多个不同的partition去消费。
consumer group:一个业务或一个用途的为一个consumer group,不同之间互不影响。
broker:kaka是分布式,每个节点的实际进程,一个节点一个。
kafka的使用
创建topic
bin/kafka-topics.sh --create --zookeeper localhost:2181 --partitions 5 --replication-factor 2 --topic kafka-topic-test
查看topic
bin/kafka-topics.sh --list --zookeeper localhost:2181
查看topic详细信息
bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic kafka-topic-test
删除topic,需要将server.propertie中的delete.topic.enable改为true,否则只会标记为删除状态
bin/kafka-topics.sh --delete --zookeeper localhost:2181 --topic kafka-topic-test
查看所有consumer group
bin/kafka-consumer-groups.sh --list --bootstrap-server localhost:9092
查看具体consumer group
bin/kafka-consumer-groups.sh --describe --bootstrap-server localhost:9092 --group con-1
修改分区数
bin/kafka-topics.sh --alter --zookeeper localhost:2181 --partitions 5 --topic kafka-topic-test
控制台生产者
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic kafka-topic-test
控制台消费者
//从最新开始消费
bin/kafka-console-consumer.sh --broker-list localhost:9092 --topic kafka-topic-test
//从头开始消费
bin/kafka-console-consumer.sh --broker-list localhost:9092 --topic kafka-topic-test --from-beginning