Kafka 面试题——20 道 Kafka 知识点
本篇给大家总结了 20 道 Kafka 知识点或者说面试题,持续更新中...
1.kafka 的 3 个关键功能?
发布和订阅记录流,类似于消息队列或企业消息传递系统。
以容错的持久方式存储记录流。
处理记录流。
2.kafka 通常用于两大类应用?
建立实时流数据管道,以可靠地在系统或应用程序之间获取数据
构建实时流应用程序,以转换或响应数据流
3.kafka 特性?
消息持久化
高吞吐量
扩展性
多客户端支持
Kafka Streams
安全机制
数据备份
轻量级
消息压缩
4.kafka 的 5 个核心 Api?
Producer API
Consumer API
Streams API
Connector API
Admin API
5.什么是 Broker(代理)?
Kafka 集群中,一个 kafka 实例被称为一个代理(Broker)节点。
6.什么是 Producer(生产者)?
消息的生产者被称为 Producer。Producer 将消息发送到集群指定的主题中存储,同时也自定义算法决定将消息记录发送到哪个分区?
7.什么是 Consumer(消费者)?
消息的消费者,从 kafka 集群中指定的主题读取消息。
8.什么是 Topic(主题)?
主题,kafka 通过不同的主题却分不同的业务类型的消息记录。
9.什么是 Partition(分区)?
每一个 Topic 可以有一个或者多个分区(Partition)。
10.什么是副本(Replication)?
每个主题在创建时会要求制定它的副本数(默认 1)。
11.什么是记录(Record)?
实际写入到 kafka 集群并且可以被消费者读取的数据。每条记录包含一个键、值和时间戳。
12.kafka 适合哪些场景?
日志收集、消息系统、活动追踪、运营指标、流式处理、时间源等。
13.kafka 磁盘选用上?
SSD 的性能比普通的磁盘好,这个大家都知道,实际中我们用普通磁盘即可。它使用的方式多是顺序读写操作,一定程度上规避了机械磁盘最大的劣势,即随机读写操作慢,因此 SSD 的没有太大优势。
14.使用 RAID 的优势?
提供冗余的磁盘存储空间
提供负载均衡
15.磁盘容量规划需要考虑到几个因素?
新增消息数
消息留存时间
平均消息大小
备份数
是否启用压缩
16.Broker 使用单个?多个文件目录路径参数?
log.dirs 多个 log.dir 单个
17.一般来说选择哪个参数配置路径?好处?
log.dirs 好处:提升读写性能,多块物理磁盘同时读写高吞吐。故障转移。一块磁盘挂了转移到另一个上。
18.自动创建主题的相关参数是?
auto.create.topics.enable
19.解决 kafka 消息丢失问题?
不要使用 producer.send(msg),而要使用 producer.send(msg, callback)。
设置 acks = all。
设置 retries 为一个较大的值。
设置 unclean.leader.election.enable = false。
设置 replication.factor >= 3。
设置 min.insync.replicas > 1。
确保 replication.factor > min.insync.replicas。
确保消息消费完成再提交。
20.kafka 消息重复问题?
做好幂等。数据库方面可以(唯一键和主键)避免重复。在业务上做控制。
本文来源于:奈学开发者社区
https://ask.naixuejiaoyu.com/article/229
如有侵权请联系我删除。
评论