kafka夺命连环三十问(16-22)

news/2024/11/14 4:57:38/
16、kafka是如何做到高效读写

1,kafka本身是分布式集群,可以采用分区技术,并行度高

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

3,顺写磁盘

4,页缓存+零拷贝技术

17、Kafka集群中数据的存储是按照什么方式存储的?

Kafka使用自己的文件存储系统来存储消息。每个分区的数据被存储在一系列文件中,这些文件被称为segment。每个segment包含一个.log文件和一个.index文件。.log文件存储消息的二进制数据,而.index文件存储消息的索引信息,用于快速定位消息。

18、kafka中是如何快速定位到一个offset的。

kafka中要快速定位一个offset主要依赖于其稀疏索引机制,当需要读取特定offset的数据时,先通过稀疏索引确定数据所在的segment范围,然后在该segment内进一步查找

19、简述kafka中的数据清理策略。

1,基于时间的数据清理

2,基于大小的数据清理

3,日志清理策略

kafka提供了两种日志清理策略:delete和compact

一种是基于时间的,另外一种是基于大小

1,delete它会删除所有过期的数据,如果segment中既有过期数据也有未过期数据,kafka会保留未过期的数据,删除过期的部分,这样可以保证数据的完整性

2,compact 日志压缩(合并的意思,不是真的压缩)

compact日志压缩:对于相同key的不同value值,只保留最后一个版本。

4,日志清理的触发

20、消费者组和分区数之间的关系是怎样的?

消费者组内每个消费者负责消费不同分区的数据,一个分区只能由一个组内消费者消费

21、kafka如何知道哪个消费者消费哪个分区?

groupld对五十取模,看最后结果是哪个分区节点,假如是1分区,那么1分区的协调器就是本次消费者组的老大,消费者向该协调器注册,协调器从中随机选择一个消费者作为本次消费的leader,然后让leader制作计划,哪个消费者消费哪个分区

22、kafka消费者的消费分区策略有哪些,默认是个?

kafka有四种主流的分区分配策略:Range、RoundRobin(轮询)、Sticky(粘性)、CooperativeSticky(配合的粘性)。

默认情况下,Kafka使用的分区分配策略是RangeAssignor,即范围分配策略。


http://www.ppmy.cn/news/1546502.html

相关文章

navicat pg库安装mysql fdw 外表扩展

在Windows上手动安装mysql_fdw(MySQL Foreign Data Wrapper)通常涉及一系列步骤,包括下载源码、编译、配置和测试。以下是一个详细的指南: 一、下载mysql_fdw源码 访问mysql_fdw的GitHub发布页面,选择最新版本的源码…

如何使用腾讯云GPU云服务器自建一个简单的类似ChatGPT、Kimi的会话机器人

如何使用腾讯云GPU云服务器自建一个简单的类似ChatGPT、Kimi的会话机器人 一、选择云服务器 1.申请云服务器 建议云服务器使用按量付费,按小时算还是非常便宜的。 硬件配置: 系统:ubuntu,20.04 系统盘:150G GPU…

【ET8框架进阶】HybridCLR打包丢失元方法问题MissingMethodException:生成LinkXml增加元方法

问题描述 HybridCLR自带的GenerateLinkXml,丢失部分原方法 MissingMethodException: Default constructor not found for type YooAsset.FileGeneralRequestat System.RuntimeType.CreateInstanceMono (System.Boolean nonPublic, System.Boolean wrapExceptions) [0x00000]…

浔川 AI 翻译 v5.0 上线时间公告(已公布!)

亲爱的用户们: 在此向大家隆重宣布,备受期待的浔川 AI 翻译 v5.0 版本将于 11 月 16 日正式上线啦! 我们的研发团队全力以赴,精心打磨这一全新版本。在这个过程中,运用了一系列先进技术,对翻译算法做了深度…

mysql占用内存过大问题排查

如果 MySQL 占用内存过高,可以按照以下步骤进行排查: 一、检查 MySQL 配置参数 查看 innodb_buffer_pool_size: 这个参数决定了 InnoDB 存储引擎缓冲池的大小,它会占用大量内存。如果设置得过大,可能导致内存占用过高…

996引擎 - 活捉NPC

996引擎 - 活捉NPC 引擎触发 - 引擎事件(QF)事件处理模块 GameEvent测试文件参考资料 引擎触发 - 引擎事件(QF) cfg_game_data 配置 ShareNpc1 可以将QM和机器人的触发事件全部转到 QF 引擎触发是通用的,TXT的所有触发转换成小写后在LUA中就可使用,如说明书中缺省可反馈至对接群…

设计模式-七个基本原则之一-里氏替换原则

里氏替换原则(LSP)面向对象六个基本原则之一 子类与父类的替代性:子类应当能够替代父类出现的任何地方,且表现出相同的行为。行为的一致性:子类的行为必须与父类保持一致,包括输入和输出、异常处理等。接口…

AI变现,做数字游民

在数字化时代,AI技术的迅猛发展不仅改变了各行各业的生产方式,还为普通人提供了前所未有的变现机会。本文将探讨如何利用AI技术实现变现,成为一名数字游民,享受自由职业带来的便利与乐趣。 一、AI技术的变现潜力 AI技术以其强大…