Kafka的入门一

Kafka的入门一_第1张图片
kafka的端口号 9092
定义
在这里插入图片描述

kafka的应用场景

异步处理
限流削峰
解耦
缓冲

Kafka的入门一_第2张图片
kafka的消息队列两种模式
点对点 (一对一)
发布/订阅模式(一对多)
区别
维护一个长允许
点对点 :一对一,生产的数据只能被指定的消费者进行消费 ,只要消费完,数据就会被删除
发布订阅模式:多对一 ,一个生产者的数据能够被多个消费者消费,被消费的数据,kafka的数据会持久化的(默认保存一周)

群起脚本
Kafka的入门一_第3张图片
在这里插入图片描述

在这里插入图片描述
看kafka的日子
在这里插入图片描述
主题的副本数不能超过节点数

生产 和消费者 和主题有关 ,和集群有关
主题要往zk写东西 所以 需要用到zk
在这里插入图片描述
数据生产了,不一定要马上消费 ,过一段时间需要加一个参数
数据的偏移量存储再 kafka的主题里
kafka关闭时间较慢 ,通讯时间比较长
数据与日志分离
必须关掉zk kafka
zk删掉version kafka删掉log

在kafak里如果 自己不创建日志的路径 他会自动创建这个日志文件

点log这个log只存数据 ,默认时间一周 ,大小达到一个G 会生成一个新的为文件

二分查找
log 分为很多的 片段 setgement,每个setgement有。点log 和 点 index
点index存的是最小的偏移量 就是上一个的最后一个+1的偏移量
通过偏移量找索引文件 ,通过索引文件找 日志文件


深入理解

接触架构
Kafka的入门一_第4张图片
副本的个数 =lead的个数+flower的个数
Kafka的入门一_第5张图片

kafka的服务器是scala写的 客户端时java写的

启动密令
在这里插入图片描述

创建topic
在这里插入图片描述
分区 ,副本 isr
在这里插入图片描述

Kafka的入门一_第6张图片

副本数有限制 ,分区无限制

分区数只能增加 不能减少

kafka工作流程
Kafka的入门一_第7张图片
保证分区是有序 ,不能保证消费有序

Kafka的入门一_第8张图片

生产者的分区概念
Kafka的入门一_第9张图片

在这里插入图片描述
在这里插入图片描述
三种分区的方式
Kafka的入门一_第10张图片
轮询的方式
使用了一个round-robin的算法 随机获取一个数除以 分区的个数,余数余几就放到哪个分区 ,下次的时候 ,随机数加1 除以分区个数 ,余数是多少就放到哪个分区 ,依次像这样
自定义分区

数据的可靠性

Kafka的入门一_第11张图片

Kafka的入门一_第12张图片

Kafka的入门一_第13张图片

ISR是 follow是子集

数据可靠性的三种情况
Kafka的入门一_第14张图片
Kafka的入门一_第15张图片
直接将数据发送 ,必须要等待ack的反应

ack 重复 丢失

Kafka的入门一_第16张图片

hw 就是 follow同步的开始点

消息传递可靠性的语义
至少一次在这里插入图片描述
准确的一次
去重
在这里插入图片描述在这里插入图片描述

消费方式
在这里插入图片描述

offerset 存储再哪里
在这里插入图片描述

Kafka的入门一_第17张图片

Kafka的入门一_第18张图片

Kafka的入门一_第19张图片

生产者的API
Kafka的入门一_第20张图片
消息的发送流程
Kafka的入门一_第21张图片

Kafka的入门一_第22张图片

生产者
Kafka的入门一_第23张图片
第二部分
发数据可以写死循环
// 异步发送
Kafka的入门一_第24张图片

同步发送
Kafka的入门一_第25张图片

你可能感兴趣的:(Kafka的入门一)