1、Kafka概述
1、kafka是什么?
kafka是基于发布/订阅的消息队列
2、kafka应用场景?
实时:kafka一般用于实时场景
离线:kafka在工作中有时候会结合flume进行使用,此时kafka用于削峰
3、基础架构
producer: 生产者[向kafka中写入消息]
topic: 主题,一般工作中一个业务对应一个主题
partition: 分区
作用:
1、分布式存储,便于扩容
2、提交并发,从而提高效率
consumer group: 消费者组。工作中一个消费者组消费一个topic数据
topic中一个分区的数只能被一个消费者组中的一个消费者所消费
consumer group中包含多个消费者,消费者的个数最好是与topic 分区数一致
如果consumer group中消费者个数>topic分区数,此时会有消费者没有分区数据可以消费
如果consumer group中消费者个数<topic分区数,此时会有消费者消费多个分区的数据
副本: 每个分区保存在不同的服务器上,如果服务器宕机,分区数据丢失,所以为了保证数据的安全性,提交了副本机制
leader: 副本的一个角色,Producer发送数据以及消费者消费数据都找leader
follower:副本的一个角色,主要负责同步leader的数据,如果leader宕机,会从follower中选举出新leader
broker: kafka的一台节点,分区的存放节点
offset: 偏移量,offset是数据在分区中的唯一标识,后续消费者组消费topic 分区数据的时候,会通过offset记录下一次应该从哪个位置开始消费
2、常用指令
1、topic相关
1、创建topic: bin/kafka-topics.sh --create --topic topic名称 --partitions 分区数 --replication-factor 副本数 --bootstrap-server borker主机:9092,..
2、查看kafka集群所有的topic: bin/kafka-topics.sh --list --bootstrap-server borker主机:9092,..
3、查看某个topic的详细信息: bin/kafka-topics.sh --describe --topic topic名称 --bootstrap-server borker主机:9092,..
4、修改topic信息[只能修改分区数,而且是只能增加分区数,不能减少分区数]: bin/kafka-topics.sh --alter --topic topic名称 --bootstrap-server borker主机:9092,.. --partitions 分区数
5、删除topic: bin/kafka-topics.sh --delete --topic topic名称 --bootstrap-server borker主机:9092,..
2、消费者相关:bin/kafka-console-consumer.sh --topic topic名称 --bootstrap-server borker主机:9092,..
3、生产者相关&#
kafka个人总结
最新推荐文章于 2022-07-22 09:51:54 发布