四、Kafka Broker

4.1.1 Zookeeper 存储的 Kafka 信息

4.1.2 Kafka Broker 总体工作流程

4.2 生产经验 - 节点的服役和退役

自己的理解:其实就是将kafka的分区,负载到集群中的各个节点上。

1、服役新节点

2、退役旧节点

4.3 kafka副本

1、副本的作用

2、Leader的选举流程

选举规则:在isr中存活为前提,按照AR中排在前面的优先。例如ar[1,0,2], isr [1,0,2],那么leader就会按照1,0,2的顺序轮询。

3、 Leader 和 Follower 故障处理细节

两个概念:

  • LEO(Log End Offset):每个副本的最后一个offset,LEO其实就是最新的offset + 1
  • HW(High Watermark):所有副本中最小的LEO

4、分区副本分配

5、手动分配分区副本

6、Leader Partition 负载平衡

正常情况下,Kafka本身会自动把Leader Partition均匀分散在各个机器上,来保证每台机器的读写吞吐量都是均匀的。但是如果某些broker宕机,会导致Leader Partition过于集中在其他少部分几台broker上,这会导致少数几台broker的读写请求压力过高,其他宕机的broker重启之后都是follower partition,读写请求很低,造成集群负载不均衡

·最好不要设置集群自动再平衡,因为它浪费集群大量的性能·

7、生产经验------增加副本因子

在生产环境当中,由于某个主题的重要等级需要提升,我们考虑增加副本。副本数的增加需要先制定计划,然后根据计划执行

【注意】不能直接通过命令行的方式修改副本,而是需要通过一下方式来增加副本数量 !

4.4 文件存储

1、文件存储机制

1) Topic 文件的存储机制

3)index 文件和 log 文件详解

2、文件清理策略

  1. Kafka 中默认的日志保存时间为 7 天,可以通过调整如下参数修改保存时间。

  2. Kafka 中提供的日志清理策略有 delete 和 compact 两种

    delete 日志删除:将过期数据删除

compact日志压缩:对于相同key的不同value值,只保留最后一个版本。用的比较少,知道即可

4.5 高效读写数据

1)Kafka 本身是分布式集群,采用分区技术,并行度高

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

3)顺序写磁盘

4)页缓存 + 零拷贝技术

零拷贝:Kafka的数据加工处理操作交由Kafka生产者和Kafka消费者处理。Kafka Broker应用层不关心存储的数据,所以就不用走应用层,传输效率高

PageCache页缓存:Kafka重度依赖底层操作系统提供的PageCache功 能。当上层有写操作时,操作系统只是将数据写入PageCache。当读操作发生时,先从PageCache中查找,如果找不到,再去磁盘中读取。实际PageCache是把尽可能多的空闲内存都当做了磁盘缓存来使用

相关推荐
Ulyanov2 小时前
Apache Kafka在雷达仿真数据流处理中的应用
分布式·python·kafka·apache·雷达电子战
路飞说AI3 小时前
Kafka: 一条消息的完整“生命之旅”
kafka
indexsunny6 小时前
互联网大厂Java面试实战:核心技术与微服务架构在电商场景中的应用
java·spring boot·redis·kafka·maven·spring security·microservices
岁岁种桃花儿11 小时前
面试全系列之【Kafka】之【经典版】系列
面试·职场和发展·kafka
Devin~Y11 小时前
从Spring Boot到Spring AI:音视频AIGC内容社区Java大厂面试三轮连环问(含Kafka/Redis/安全/可观测性答案)
java·spring boot·redis·spring cloud·kafka·spring security·resilience4j
java干货13 小时前
在微服务里造一个微缩版 Kafka:Spring Boot 整合 Redis Stream 全指南
spring boot·微服务·kafka
路飞说AI1 天前
分布式事务最佳实践:基于kafka实现的最终一致性方案
kafka
Devin~Y1 天前
互联网大厂Java面试:Spring Boot/Redis/Kafka/K8s 可观测 + RAG(向量检索/Agent)三轮追问实录
java·spring boot·redis·kafka·kubernetes·spring mvc·webflux
路飞说AI2 天前
Kafka消息不丢失全攻略
kafka
落子君2 天前
kafka接受消息
kafka