Kafka
2023-10-19 16:27:45 0 举报
AI智能生成
kafka思维导图
作者其他创作
大纲/内容
什么是MQ
MQ的说明
MQ的种类
ActiveMQ
Kafka
rabbitMQ
RocketMQ
MQ优缺点
优点
异步
解耦
削峰
缺点
学习成本
维护成本
基本概念
介绍
kafka在设计之初的时候 开发人员们在除了消息中间件以外,还想吧kafka设计为一个能够存储数据的系统,有点像常见的非关系型数据库,比如说NoSql等。除此之外 还希望kafka能支持持续变化,不断增长的数据流, 可以发布和订阅数据流,还可以对于这些数据进行保存
也就是说kafka的本质 是一个数据存储平台,流平台 , 只是他在做消息发布,消息消费的时候我们可以把他当做消息中间件来用。
而且kafka在设计之初就是采用分布式架构设计的, 基于集群的方式工作,且可以自由伸缩,所以 kafka构建集群 非常简单
也就是说kafka的本质 是一个数据存储平台,流平台 , 只是他在做消息发布,消息消费的时候我们可以把他当做消息中间件来用。
而且kafka在设计之初就是采用分布式架构设计的, 基于集群的方式工作,且可以自由伸缩,所以 kafka构建集群 非常简单
概念
Broker(服务器)
AMQP里协议的概念一样,就是消息中间件所在的服务器
Topic(主题)
每条发布到Kafka集群的消息都有一个类别,这个类别被称为Topic。
(物理上不同Topic的消息 分开存储,逻辑上一个Topic的消息虽然保存于一个或多个broker上,
但用户只需指定消息的Topic即可生产或消 费数据而不必关心数据存于何处)
(物理上不同Topic的消息 分开存储,逻辑上一个Topic的消息虽然保存于一个或多个broker上,
但用户只需指定消息的Topic即可生产或消 费数据而不必关心数据存于何处)
Partition(分区)
物理概览。存放数据!一个topic可对应多个分区。
Producer(生产者)
往kafka发送数据的服务端
Consumer(消费者)
消费kafka数据的服务端
Consumer Group(消费者组)
每个Consumer属于一个特定的Consumer Group
(可为每个Consumer 指定group name,若不指定group name则属于默认的group)。
(可为每个Consumer 指定group name,若不指定group name则属于默认的group)。
数据隔离
offset(偏移量)
kafka用来标记消息被消费的标识。也可以理解为:每个消息都带有的标识(数字、递增)
消息丢失;重复消费
重置offset时,需要暂停消费
系统概念
AR
所有的副本(Assigned Repllicas)
ISR
同步的副本(In-Sync Replicas)
Zookeeper
节点存储
分布式管理
强一致性
常用命令
命令信息
zkCli.sh
查看集群节点
ls /brokers/ids
获取topic节点信息
get /brokers/topic/xxx/partitions/0
参数信息
常用参数
auto.create.topic
是否创建。默认:true
num.partitions
创建topic默认的分区数。默认:1
default.replication.factor
创建topic默认的副本数。默认:2(不推荐)
log.dirs
文件储存路径。(多个路径英文逗号分隔)
num.recovery.threads.per.data.dir
每个路径所需的线程数
配置参数
安装部署
单机
zookeeper
kafka
单机情况下,可以用自身的Zookeeper
集群
部署Zookeeper
先部署zookeeper,再部署kafka
部署Kafka
数据验证
topic
producer发送数据
consumer接收
consumer接收
from-beginning查看!启动是什么?
zookeeper
查看Zookeeper各节点状态
kafka
在zkCli里面验证,broker、topic
消费者隔离
两个consumer处理数据
启动日志!
实用工具
kafka-manager
kafka tool
kafka client
性能评测
Kafka 优缺点
MQ性能对比
压力测试
实战示例
正常使用
消息堆积
消息丢失
重复消费
顺序消费
无法消费
0 条评论
下一页