当前位置: 首页 > news >正文

kafka--基础知识点--0

kafka 架构

https://cloud.tencent.com/developer/article/2307892 19张图

生产者架构

消息的磁盘存储文件结构

https://cloud.tencent.com/developer/article/2307892 19张图

produce消息分区策略

kafka–基础知识点–5–生产者分区策略

ISR、OSR、AR 是什么?

ISR:ISR,全称 in-sync replicas,是一组动态维护的同步副本集合,每个topic分区都有自己的ISR列表,ISR中的所有副本都与leader保持同步状态(也包括leader本身),只有ISR中的副本才有资格被选为新的leader,
OSR:Out-of-Sync Replicas
AR:Assigned Replicas 所有副本ISR是由leader维护,follower从leader同步数据有一些延迟(具体可以参见 图文了解 Kafka 的副本复制机制),超过相应的阈值会把 follower 剔除出 ISR, 存入OSR(Out-of-Sync Replicas )列表,新加入的follower也会先存放在OSR中。AR=ISR+OSR。

LEO、HW、LSO、LW等分别代表什么

LEO:是 LogEndOffset 的简称,代表当前日志文件中下一条
HW:水位或水印(watermark)一词,也可称为高水位(high watermark),通常被用在流式处理领域(比如Apache Flink、Apache Spark等),以表征元素或事件在基于时间层面上的进度。在Kafka中,水位的概念反而与时间无关,而是与位置信息相关。严格来说,它表示的就是位置信息,即位移(offset)。取 partition 对应的 ISR中 最小的 LEO 作为 HW,consumer 最多只能消费到 HW 所在的位置上一条信息。
LSO:是 LastStableOffset 的简称,对未完成的事务而言,LSO 的值等于事务中第一条消息的位置(firstUnstableOffset),对已完成的事务而言,它的值同 HW 相同
LW:Low Watermark 低水位, 代表 AR 集合中最小的 logStartOffset 值。

故障恢复leader、follower

ack 确认策略

数据传输的事务定义通常有以下三种级别:

  • 最多一次: 消息不会被重复发送,最多被传输一次,但也有可能一次不传输
  • 最少一次: 消息不会被漏发送,最少被传输一次,但也有可能被重复传输.
  • 精确的一次(Exactly once): 不会漏传输也不会重复传输,每个消息都传输被

at least once
at more once
exactly once

消费者消费策略

https://zhuanlan.zhihu.com/p/716426534

leader epoch

follower 同步leader消息过程 及 leo、hw的变化过程

exactly once = 幂等性+at least once

https://www.cnblogs.com/jiangzishun/p/17679666.html 幂等性

kafka事务

producer 事务 https://www.cnblogs.com/xijiu/p/16917741.html

kafka常用命令

kafka使用场景

kafka数据保存磁盘 为什么这么快

零拷贝

在分布式的情况下如何保证顺序消费

kafka消息丢失的场景 及 如何避免消息丢失

kafka为什么不支持读写分离

方便实现单调读(Monotonic Reads)
什么是单调读呢?就是对于一个消费者用户而言,在多次消费消息时,它不会看到某条消息一会儿存在一会儿不存在。

如果允许追随者副本提供读服务,那么假设当前有 2 个追随者副本 F1 和 F2,它们异步地拉取领导者副本数据。倘若 F1 拉取了 Leader 的最新消息而 F2 还未及时拉取,那么,此时如果有一个消费者先从 F1 读取消息之后又从 F2 拉取消息,它可能会看到这样的现象:第一次消费时看到的最新消息在第二次消费时不见了,这就不是单调读一致性。但是,如果所有的读请求都是由 Leader 来处理,那么 Kafka 就很容易实现单调读一致性。

消息堆积

kafka-consumer-groups

Kafka创建Topic时如何将分区放置到不同的Broker中

  • 副本因子不能大于 Broker 的个数;第一个分区(编号为0)的第一个副本放置位置是随机从 brokerList 选择的;
  • 其他分区的第一个副本放置位置相对于第0个分区依次往后移。也就是如果我们有5个 Broker,5个分区,假设第一个分区放在第四个 Broker 上,那么第二个分区将会放在第五个 Broker 上;第三个分区将会放在第一个 Broker 上;第四个分区将会放在第二个 Broker 上,依次类推;
  • 剩余的副本相对于第一个副本放置位置其实是由 nextReplicaShift 决定的,而这个数也是随机产生的;

kafka监控工具

遍历AR,如果当前机器在ISR中就它为Leader

http://www.dtcms.com/a/283270.html

相关文章:

  • 智慧农业新图景:物联网如何精准守护作物生长​
  • 第六届信号处理与计算机科学国际学术会议(SPCS 2025)
  • CrewAI中构建智能体如何选择Crews 和Flows
  • 注意力机制从理论到实践:注意力提示、汇聚与评分函数
  • HertzBeat 监控 SpringBoot 使用案例
  • elf、axf、bin的区别与转换
  • freetds 解决连接SQL SERVER报错Unexpected EOF from the server
  • 基于组学数据的药物敏感性预测模型构建与验证
  • AI时代基础入门
  • 卷积神经网络(CNN)最本质的技术
  • 离线环境中将现有的 WSL 1 升级到 WSL 2
  • list类的常用接口实现及迭代器
  • [BJDCTF2020]Cookie is so stable
  • Mybatis07-缓存
  • 正确选择光伏方案设计软件:人力成本优化的关键一步
  • 聊聊自己的新书吧
  • lustre设置用户配额
  • 同态加密赋能大模型医疗文本分析:可验证延迟压缩的融合之道
  • xss-labs靶场前八关
  • C语言基础:循环练习题
  • Linux切换到Jenkins用户解决Jenkins Host key verification failed
  • Electron实现“仅首次运行时创建SQLite数据库”
  • 大语言模型幻觉检测:语义熵揭秘
  • [Mysql] Connector / C++ 使用
  • AutoMQ 正式通过 SOC 2 Type II 认证
  • 尚庭公寓-----day1 业务功能实现
  • 八、DMSP/OLS、NPP/VIIRS等夜间灯光数据能源碳排放空间化——碳排放空间分级、空间自相关
  • PyCharm高效入门指南
  • docker+小皮面板
  • TCP 三次握手与四次挥手笔记