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