Kafka 面试题精选

1. Kafka 基础知识与概念
  • Apache Kafka: 开源分布式事件流平台,用于实时数据处理与传输。
  • 主要用途: 大数据实时处理、日志聚合与传输、消息队列与微服务集成、网站活动追踪与用户行为分析、数据集成。
2. Kafka 架构与设计
  • Producer: 发布消息到 Kafka 集群的应用程序。
  • Broker: Kafka 集群的服务器节点,存储并转发消息。
  • Consumer: 从 Kafka 读取消息并处理的应用程序。
  • Topic: 消息的逻辑分类或通道名称。
  • Partition: 每个 Topic 可被划分为多个 Partition,提高并发处理能力。
3. Kafka 消息顺序性保证
  • 分区: 每个 Partition 内部消息有序。
  • 单生产者到单 Partition: 保证消息顺序。
  • 同步发送: acks=all 确保消息被所有 ISR 写入。
  • 消息偏移量: 每个消息的唯一标识,保证消费顺序。
4. Kafka 消息存储
  • Log Segments: 物理存储消息的文件,每个 Partition 由多个 Segments 组成。
  • Segment 命名与滚动: 达到预设大小或时间阈值时滚动。
  • 删除策略: 定期删除旧 Segment 释放空间。
5. Kafka 高可用性与分区机制
  • 副本机制: 每个 Partition 有多个副本分布在不同 Broker 上。
  • ISR 列表: 维护当前活跃副本集,确保数据一致性。
  • 控制器 Broker: 管理集群元数据。
6. Kafka 架构与集群工作方式
  • 生产者发送消息: 消息按分区策略分配到不同 Partition。
  • Broker 存储消息: 追加到 Partition 日志。
  • 消费者订阅消费消息: 通过订阅 Topic 消费消息。
  • 副本和故障转移: Leader 处理请求,Follower 同步数据。
7. Kafka 副本机制
  • 分区副本: 每个 Partition 有 Leader 和 Follower。
  • ISR 列表: 与 Leader 保持同步的 Follower 集合。
  • 数据不丢失保证: 生产者确认策略、副本故障处理、最小 ISR 配置。
8. Kafka 消息传递语义
  • At-Least-Once: 消息至少被处理一次,可能多次。
  • At-Most-Once: 消息最多被处理一次,可能未处理。
  • Exactly-Once: 消息恰好被处理一次。
9. Kafka 性能与优化
  • 影响因素: 硬件资源、配置参数、架构设计。
  • 调优方法: 硬件优化、配置调优、架构设计优化。
10. Kafka 批处理机制
  • 生产者批处理: 累积消息后批量发送。
  • 消费者批处理: 一次性拉取多个消息。
11. Kafka 消息积压处理
  • 增加分区和消费者数量: 提高消费速率。
  • 提高消费批次大小: 减少拉取频率。
  • 优化消费逻辑: 提升处理速度。
12. Kafka 延时问题解决方案
  • 优化网络和硬件: 提升传输和处理速度。
  • 调整批处理策略: 平衡吞吐量与延迟。
  • 增强消费者能力: 提升处理速度。
13. Kafka 故障排查与安全性
  • Broker 宕机影响: 分区不可用,数据丢失风险。
  • 恢复措施: 配置多个副本、监控警报、自动故障转移。
14. Kafka 监控与诊断
  • 使用 Kafka 内置指标: 监控集群状态。
  • 监控 ZooKeeper: 确保元数据管理稳定。
  • 使用工具和平台: Kafka Healthcheck、管理工具。
15. Kafka 安全特性
  • 连接认证: SSL/TLS、SASL、OAuth。
  • 授权: 使用 ACL 实现细粒度控制。
16. 多租户环境下 Kafka 安全隔离
  • 物理或逻辑集群隔离: 区分不同租户数据。
  • 主题和分区隔离: 独立主题或使用前缀区分。
  • 认证与授权: 确保合法租户访问。
  • 网络隔离: 使用网络策略限制访问。
  • 加密: 通信加密,增强数据安全性。
  • 日志清理与保留策略: 管理数据合规性。
  • 监控与审计: 记录审查访问请求。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/42999.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

记一次因ThreadPoolExecutor多线程导致服务器内存压满问题

经过下载服务器内存数据得知是通过多线程业务处理查询list集合数据没有得到正确释放导致的。 首先先了解一下list集合数据的存放和回收(可能说的不对,请谅解【挠头】) 存放: 当我们创建一个list或者从数据库查询出的数据用list集…

电脑选购全解析!你需要知道的一切!

在选择电脑类型时,你可以考虑以下因素: 你的主要用途是什么? 你是否需要携带电脑? 你的预算是多少? 你对性能和图形要求有多高? 你是否需要特定的软硬件功能?根据这些因素,你可以…

【计算机网络】阻塞队列以及生产者消费者模型

目录 阻塞队列一. 概念二. 标准库中的阻塞队列三. 生产者消费者模型四. 阻塞队列实现 总结 阻塞队列 一. 概念 阻塞队列是⼀种特殊的队列.也遵守"先进先出"的原则. 阻塞队列能是⼀种线程安全的数据结构,并且具有以下特性: 当队列满的时候,继续⼊队列就会阻塞,直到…

Git秘籍大公开:从基础概念到高级技巧的全面解析

文章目录 前言一、Git基础介绍1. 作用2. 为什么要进行源代码管理?3. Git的诞生4. Git管理源代码特点5. Git操作流程图解 二、工作区暂存区和仓库区介绍1. 工作区2. 暂存区3. 仓库区 三、Git单人本地仓库操作1. 安装git2. 查看git安装结果3. 创建项目4. 创建本地仓库5. 配置个人…

SpringCloud 负载均衡

目录 一、负载均衡 1、问题 2、什么是负载均衡 服务端负载均衡 客户端负载均衡 二、Spring Cloud LoadBalance 1、使用 Spring Cloud LoadBalance 2、负载均衡策略 3、LoadBalancer 原理 一、负载均衡 1、问题 我们来看一下前面写的代码&#xff1a; List<Serv…

代码随想录算法训练营第六十天| 并查集理论基础、107. 寻找存在的路径

[KamaCoder] 并查集理论基础 [KamaCoder] 并查集理论基础 自己看到题目的第一想法 基础理论, 好奇加不知所以. 看完代码随想录之后的想法 核心思想是将所有节点通过整数数组int[] father串起来, father[u] 表示 u 连接到的顶点. 如果 u 和 v 连接到相同的顶点, 则说明 u 和 …

电子版盖章怎么弄(电子版公章怎么盖上)

下面是利用e章宝盖电子公章更简单&#xff0c;从印章库中选中要盖的公章&#xff0c;然后在文档中想要盖的位置单击一下即可&#xff1a; 第一步&#xff1a;制作需要盖的电子印章 一般是先扫描公章&#xff0c;然后使用e章宝的一键抠章功能&#xff0c;把印章导入到印章库中…

音频demo:使用fdk-aac将PCM数据编码成aac数据

1、README a. 编译 编译demo 本demo是使用的开源项目fdk-aac将PCM数据编码成aac音频文件。由于提供的.a静态库是在x86_64的机器上编译的&#xff0c;所以默认情况下仅支持该架构的主机上编译运行。 $ make编译fdk-aac&#xff08;可选&#xff09; 如果想要在其他架构的CP…

Java语言程序设计——篇二(1)

Java语言基础 数据类型关键字与标识符关键字标识符 常量与变量1、常量2、变量 类型转换自动类型转换强制类型转换 数据类型 数据的基本要素数据的性质&#xff08;数据结构&#xff09;数据的取值范围&#xff08;字节大小&#xff09;数据的存储方式参与的运算 Java是一门强类…

常见的自动化工具开发必备的源代码!

随着科技的飞速发展&#xff0c;自动化工具已经成为我们日常工作中不可或缺的一部分&#xff0c;自动化工具不仅极大地提高了工作效率&#xff0c;还降低了人为错误的可能性。 然而&#xff0c;要想开发出高效、稳定的自动化工具&#xff0c;掌握一些常见的源代码技巧是至关重…

vue中一周的时间选择多个阶段(手动表格选择)

先给大家看一下效果图 源代码 <template><div style"width: 45%"><div style"width: 100%"><div class"time"><div class"timeleft">星期/时间</div><div class"timeright"><…

FastAPI是一个现代、快速(高性能)的Web框架

FastAPI是一个现代、快速&#xff08;高性能&#xff09;的Web框架&#xff0c;专门用于构建基于Python的API。以下是对FastAPI的详细介绍&#xff1a; 一、基本概述 定义与用途&#xff1a;FastAPI是一个开源项目&#xff0c;基于Starlette和Pydantic库构建而成&#xff0c;…

奇安信20240513笔试

题目一 解题思路 n转为字符串&#xff0c;如果位数为偶数&#xff0c;取前一半设为x&#xff0c;后一段为y&#xff0c;从x最低位开始&#xff0c;9&#xff0c;9*10&#xff0c;9*10*10。。。 到最高位&#xff0c;加x&#xff0c;如果x大于或等于y&#xff0c;加1. 位数为奇数…

linux固定主机ip

1.查看虚拟网络配置 NAT设置&#xff1a; 2.修改网卡配置文件 vim /etc/sysconfig/network-scripts/ifcfg-ens33 TYPE"Ethernet" PROXY_METHOD"none" BROWSER_ONLY"no" BOOTPROTO"static" DEFROUTE"yes" IPV4_FAILURE_FATAL…

idea导入opencv和mediapipe

1.参考pycharm导入cv2_pycharm import cv2-CSDN博客 2.pip install opencv-python 3. python 3.8导入mediapipe 3.1 pip install mediapipe 导入报错&#xff0c; 3.2离线导入 参考Win10安装mediapipe的步骤_mediapipe安装python版本-CSDN博客 首先安装opencv-contrib-py…

Fastjson反序列化漏洞原理与漏洞复现

漏洞原理 1.啥是json? json全称是JavaScript object notation。即JavaScript对象标记法&#xff0c;使用键值对进行信息的存储。举个简单的例子如下&#xff1a; { "name":"BossFrank", "age":23, "media":["CSDN","…

App UI性能测试 - PerfDog使用全教程

App 性能测试指标: 响应、内存、CPU、FPS、GPU渲染、耗电、耗流等。 PerfDog的性能数据更加全面,所以下面以PerfDog来介绍安装使用流程及测试数据的获取与分析。 官网: PerfDog | 全平台性能测试分析专家 第一步,先访问官网进行注册, 注册好账号后,点击下载PerfDog,下…

git 文件没有修改,但一直提示有0行改动,还原也不行

查看文件修改内容 原来是文件的模式(读写可执行权限)发生了变化,内容本是没有变化. 怎么解决 git config --add core.filemode false忽略文件模式

ES6 之 Set 与 Map 数据结构要点总结(一)

Set 数据结构 Set 对象允许你存储任何类型的唯一值&#xff0c;无论是原始值还是对象引用。 特性&#xff1a; 所有值都是唯一的&#xff0c;没有重复。值的顺序是根据添加的顺序确定的。可以使用迭代器遍历 Set。 常用方法&#xff1a; 1. add(value)&#xff1a;添加一个新…

Vue90-Vuex模块化:namespace

一、模块化的目标 当业务很复杂的时候&#xff0c;各个模块中的内容会很多&#xff0c;所以&#xff0c;要将不同业务功能的模块放到不同的位置 二、实现 2-1、模块内容的拆分 将对应的模块的内容&#xff0c;添加到对应的对象中去。 2-2、拆分后模块的使用 1、方式一 2、方…