2020年,kafka面试题总结。
总结的都是最常见问到的问题:问题1:什么是Apache Kafka?答:Apache Kafka是一个发布-订阅开源消息代理应用程序。这个消息传递应用程序是用“scala”编码的。基本上,这个项目是由Apache软件启动的。Kafka的设计模式主要基于事务日志设计。问题2:Kafka中有哪几个组件?答:Kafka最重要的元素是:主题:Kafka主题是一堆或一组消息。生产...
总结的都是最常见问到的问题:
问题1:什么是Apache Kafka?
答:Apache Kafka是一个发布 - 订阅开源消息代理应用程序。这个消息传递应用程序是用“scala”编码的。基本上,这个项目是由Apache软件启动的。Kafka的设计模式主要基于事务日志设计。
问题2:Kafka中有哪几个组件?
答:Kafka最重要的元素是:
主题:Kafka主题是一堆或一组消息。
生产者:在Kafka,生产者发布通信以及向Kafka主题发布消息。
消费者:Kafka消费者订阅了一个主题,并且还从主题中读取和处理消息。
经纪人:在管理主题中的消息存储时,我们使用Kafka Brokers。
问题3:解释偏移的作用。
答:给分区中的消息提供了一个顺序ID号,我们称之为偏移量。因此,为了唯一地识别分区中的每条消息,我们使用这些偏移量。
问题5:ZooKeeper在Kafka中的作用是什么?
答:Apache Kafka是一个使用Zookeeper构建的分布式系统。虽然,Zookeeper的主要作用是在集群中的不同节点之间建立协调。但是,如果任何节点失败,我们还使用Zookeeper从先前提交的偏移量中恢复,因为它做周期性提交偏移量工作。
问题6:没有ZooKeeper可以使用Kafka吗?
答:绕过Zookeeper并直接连接到Kafka服务器是不可能的,所以答案是否定的。如果以某种方式,使ZooKeeper关闭,则无法为任何客户端请求提供服务。
问题8:为什么Kafka技术很重要?
答:Kafka有一些优点,因此使用起来很重要:
高吞吐量:我们在Kafka中不需要任何大型硬件,因为它能够处理高速和大容量数据。此外,它还可以支持每秒数千条消息的消息吞吐量。
低延迟:Kafka可以轻松处理这些消息,具有毫秒级的极低延迟,这是大多数新用例所要求的。
容错:Kafka能够抵抗集群中的节点/机器故障。
耐久性:由于Kafka支持消息复制,因此消息永远不会丢失。这是耐久性背后的原因之一。
可扩展性:卡夫卡可以扩展,而不需要通过添加额外的节点而在运行中造成任何停机。
问题9:Kafka的主要API有哪些?
答:Apache Kafka有4个主要API:
生产者API
消费者API
流 API
连接器API
问题 13.kafka的message格式是什么样的
一个Kafka的Message由一个固定长度的header和一个变长的消息体body组成
header部分由一个字节的magic(文件格式)和四个字节的CRC32(用于判断body消息体是否正常)构成。
当magic的值为1的时候,会在magic和crc32之间多一个字节的数据:attributes(保存一些相关属性,
比如是否压缩、压缩格式等等);如果magic的值为0,那么不存在attributes属性
body是由N个字节构成的一个消息体,包含了具体的key/value消息。
更多推荐
所有评论(0)