Kafka第三课

Flume

由三部分 Source Channel Sink

可以通过配置拦截器和Channel选择器,来实现对数据的分流,

可以通过对channel的2个存储容量的的设置,来实现对流速的控制

Kafka

同样由三大部分组成 生产者 服务器 消费者

生产者负责发送数据给服务器

服务器存储数据

消费者通过从服务器取数据

但是,Kafka比Flume要更精细一点

生产者到服务器存数据(发数据):

获取配置->修改配置->拦截器->序列化器->分区器->sender 到broker

服务器如何存数据?

选举leader和发回消息

1.一个分区多个副本的controller同时去抢注册ZK

2.注册成功的监控broker节点变化

3.然后开始选举,选举出来将结果传给zk

4.其他的controller对从zk上同步节点信息(每个controller都会监控zk)

4.1.Leader挂了的话,重新选举, 然后其他controller重新同步

5.选举出来之后,生产者开始发送数据,数据由Leader同步到follower副

6.发送的数据就是Segment(默认1个G),

那么什么是Segment .log .timeindex .index .snapshot leader .metadata

50个consumer_offset 就是存储消费者读取的偏移量

7.向生产者应答

注意一下Leader挂是怎么挂?

1.broker直接挂 2. 数据太多,崩掉

消费者到服务器取数据:

消费者是按topic去读取的,一般都是一个分区对应一个消费者

消费者的offset由消费者自己提交到系统主题保存

按组按照消费策略进行读取

消费者组初始化

1.选出coordinator groupid的哈希值%50 这个组下的所有消费者提交offset都往这个分区提交

2.消费者实例到coordinator注册,然后coordinator选出一个consumer leader

3.Consumer leader制定一个消费方案,发给coordinator 然后coordinator转发

4.每个消费者都和coordinator保持心跳3s,超时(45s)移除该消费者,或者处理时间过长(超过5分钟),触发再平衡,重新制定消费方案

Kafka的高效读写

为什么?

1.Kafka本身分布式集群,分区技术,并行度高

2.读数据采用稀疏索引,可以快速定位要消费的数据

3.顺序写磁盘

他是如何顺序写磁盘的?

因为他的写入方式是追加写入

为什么顺序写磁盘快?

因为不需要寻址时间,而磁盘的寻址时间太长了

页缓存和零拷贝

什么是页缓存?

操作系统在内存中的缓存机制,

存: 存到页缓存 ->存到磁盘 取->先看页缓存有没有->没有就看磁盘

什么是零拷贝?

传输: 一般传输 ->s 内存->内核缓冲区->e网络设备 零拷贝 内存->网络设备

零拷贝: Kafka的数据加工处理操作交由Kafka生产者和Kafka消费者处理。而Broker应用层不关心存储数据,不用走应用层

消费者如何提高吞吐量?

1.如果消费者对分区不是1对1 ,加消费者

2.提高每批次拉数据的数量

相关推荐
小旭952716 小时前
RabbitMQ 核心详解
分布式·rabbitmq
RemainderTime16 小时前
(十二)Spring Cloud Alibaba 2023.x:基于 Filebeat 构建轻量级 ELK日志追踪体系
分布式·elk·elasticsearch·微服务·架构·logback
可编程芯片开发16 小时前
基于Qlearning强化学习和牵制一致性的分布式光伏集群优化调度算法matlab仿真
分布式·matlab·qlearning·牵制一致性·分布式光伏集群·光伏集群调度
芋只因17 小时前
Kafka详解
分布式·kafka
您^_^17 小时前
专家(二):Claude Code 数据工程实战:dbt + Airflow + Spark 全流程,$0.22 搭完电商分析管道
大数据·分布式·spark·claudecode·claude code全栈
Devin~Y17 小时前
大厂Java面试实录:Spring Boot/Cloud、JVM、Redis、Kafka、MyBatis 到 RAG/Agent 的三轮连环问(含答案详解)
java·jvm·spring boot·redis·spring cloud·kafka·mybatis
fengxin_rou17 小时前
【Kafka 核心概念深度详解】:分区、消费者组、位点及存储消费实战指南
分布式·kafka
若兰幽竹18 小时前
【HarmonyOS 6.1 全场景实战】《灵犀厨房》实战(十四)之【分布式流转】让菜谱“飞”:手机选、平板看、智慧屏播的全场景秘诀
分布式·华为鸿蒙系统·harmonyos6.1.0·灵犀厨房
Yeats_Liao18 小时前
BLE Mesh能承载AI推理吗?分布式边缘AI节点部署实战
服务器·人工智能·分布式·架构·边缘计算
面向Google编程1 天前
从零学习Kafka:消费者组重平衡
大数据·kafka·负载均衡