[ Kafka 基础 ]
[ (思维导图) ] (10394)
-隐藏-
+展开+
常见消息队列产品:kafka、Acti ...
+展开+
方便扩展,提高吞吐量,一个topic分 ...
+展开+
+展开+
生成消息数据发送到kafka集群的指定 ...
消费者组,每个消费者属于一个特定的消费 ...
+展开+
从kafka集群的topic中订阅消息 ...
+展开+
存储kafka集群的meta信息。比如 ...
+展开+
+展开+
+展开+
+展开+
+展开+
+展开+
生产者消息发送,使用到main线程和S ...
+展开+
+展开+
+展开+
默认32m
+展开+
数据积累到batch.size值后,默 ...
如果数据量未达到batch.size, ...
+展开+
+展开+
+展开+
默认每个broker节点最多缓存5个请 ...
发送数据到指定的borker。
+展开+
broker接收到数据后发送应答acks ...
+展开+
+展开+
生产者发送数据,不需要等待数据落盘应答。 ...
生产者发送数据,分区leader收到数 ...
生产者发送数据,分区leader和is ...
指生产者将数据发送到RecordAcc ...
+展开+
回调函数在producer收到ack时 ...
指生产者将一批数据发送到RecordA ...
+展开+
便于合理使用存储资源,实现负载均衡。每 ...
+展开+
+展开+
+展开+
按照key的hash值和分区数进行取余 ...
采用Sticky Partition粘 ...
实现类org.apache.kafka ...
+展开+
+展开+
默认16k
默认0ms,没有延迟,可以设置为5~1 ...
例如:snappy,gzip,lz4, ...
默认32m,可以修改为64m。
+展开+
+展开+
+展开+
+展开+
设置 ack级别=-1 + 分区副本数 ...
设置 ack级别=0,可以保证数据不重 ...
kafka-0.11版本以后引入特性: ...
指producer不论向broker发 ...
+展开+
幂等性 + 至少一次(ack=-1 + ...
参数 enable.idempoten ...
+展开+
相同主键的消息提交时候,broker只 ...
开启事务,必须开启幂等性。
+展开+
使用事务的时候,必须给生产者指定一个事 ...
存储事务信息的系统主题默认有50个分区 ...
+展开+
初始化事务
开启事务
(消费者)在事务哪提交已经消费的偏移量 ...
提交事务
放弃事务(类似回滚操作)
+展开+
单分区内有序,多分区间无序。
+展开+
kafka在1.x版本之前保证单分区内 ...
+展开+
+展开+
不需要考虑是否开启幂等性
+展开+
+展开+
+展开+
kafka 1.x 之后,启用幂等性后 ...
乱序问题发生在sender线程发送re ...
+展开+
+展开+
保存集群服务器id信息
保存leader信息,以及isr信息 ...
辅助选举leader
0.9 之前保存offset信息。0. ...
+展开+
+展开+
例如:服役新节点id=3
+展开+
bin/kafka-server-st ...
+展开+
vim topics-redistri ...
bin/kafka-reassign- ...
vim topics-restore. ...
bin/kafka-reassign- ...
bin/kafka-reassign- ...
+展开+
例如:退役旧节点id=3
+展开+
+展开+
vim topics-redistri ...
bin/kafka-reassign- ...
vim topics-restore. ...
bin/kafka-reassign- ...
bin/kafka-reassign- ...
bin/kafka-server-st ...
+展开+
+展开+
提供数据可靠性
默认1个,生产环境可以配置2个。
生产者只会将数据发送给副本leader ...
+展开+
+展开+
+展开+
和leader保持同步的followe ...
和leader同步延迟的followe ...
replication.factor, ...
参考 broker 总体工作流程
+展开+
每个分区副本的最后一个offset,l ...
分区所有副本中最小的leo。
+展开+
这个处理过程只能保证副本之间的数据一致 ...
+展开+
尽量将主题的各个分区leader均匀分 ...
+展开+
对于某个主题,手动调整分区副本存储的b ...
+展开+
vim alter-store.jso ...
bin/kafka-reasign-p ...
bin/kafka-reasign-p ...
bin/kafka-reasign-p ...
+展开+
通常情况下,kafka会自动把lead ...
+展开+
+展开+
默认ture,是否开启leader副本 ...
默认10%,每个broker运行的不平 ...
默认300秒,检测leader负载是否 ...
如果需要增加副本数量,没法使用命令行完 ...
+展开+
vim alter-store.jso ...
bin/kafka-reasign-p ...
bin/kafka-reasign-p ...
+展开+
+展开+
topic是逻辑概念,partitio ...
+展开+
一个topic分为多个partitio ...
+展开+
+展开+
使用命令查看:kafka-run-cl ...
+展开+
绝对offset | 相对offset ...
baseOffset | lastOf ...
kafka日志保存时间默认7天。
+展开+
+展开+
最低优先级,小时级,默认7天
次优先级,分钟级
最高优先级,毫秒级
检查周期,默认5分钟
+展开+
将过期数据删除
+展开+
启用删除策略
默认打开。以segment中最大时间戳 ...
默认关闭。所有日志总大小超过设置的阈值 ...
+展开+
默认-1,表示无穷大。
相同key的value值,保留最后一个 ...
+展开+
启用压缩策略
压缩后的offset可能不连续。适合k ...
+展开+
顺序写磁盘效率远远高于随机写磁盘效率。 ...
+展开+
kafka的数据加工处理都交给了生产者 ...
kafka重度依赖底层操作系统的Pag ...
+展开+
+展开+
+展开+
+展开+
+展开+
+展开+
包含多个consumer,它们的gro ...
+展开+
辅助实现消费者组的初始化和分区的分配。 ...
心跳通信(默认间隔3秒),
通信超时配置项:session.tim ...
处理时间过长配置项:max.poll. ...
+展开+
+展开+
每批次最小抓取大小,默认1byte
一批数据未到达的超时时间,默认500ms ...
每批次最大抓取大小,默认50m
+展开+
一次拉取数据的最大条数,默认500条 ...
+展开+
代码:ArrayList topics ...
代码:ArrayList topicP ...
同一个主题的分区数据,只能被一个消费者 ...
+展开+
+展开+
配置项:partition.assig ...
range针对每个topic进行分区分 ...
+展开+
配置项:org.apache.kafk ...
roundrobin针对集群中所有to ...
+展开+
配置项:org.apache.kafk ...
进行一次新的分配之前,尽量考虑上次的分 ...
+展开+
配置项:org.apache.kafk ...
+展开+
+展开+
采用key-value方式存储数据。k ...
+展开+
+展开+
+展开+
是否开启自动提交offset功能,默认 ...
自动提交offset的时间间隔,默认5s ...
目的就是将本次提交的一批数据的最高of ...
+展开+
同步提交会阻塞当前线程,直到提交成功, ...
异步提交不会阻塞当前线程,没有失败重试 ...
+展开+
值列表:earliest|latest ...
+展开+
设置为最早的偏移量,--from-be ...
设置为最新偏移量,这是默认配置。
如果没有找到消费者组的先前偏移量,则向 ...
获取主题分区信息:Set assign ...
+展开+
指已经消费了数据,但是offset没有 ...
指提交offset后消费,有可能造成数 ...
如果想完成consumer端的精确一次 ...
指消费者如何提高吞吐量
+展开+
+展开+
链接:
|