2020Kafka最新最全面试题!

1、请说明什么是Apache Kafka?

Apache Kafka是由Apache开发的一种发布订阅消息系统,它是一个分布式的、分区的和可复制的提交日志服务。

2、说说Kafka的使用场景?

①异步处理

②应用解耦

③流量削峰

④日志处理

⑤消息通讯等。

3、使用Kafka有什么优点和缺点?

优点:

①支持跨数据中心的消息复制;

②单机吞吐量:十万级,最大的优点,就是吞吐量高;

③topic数量都吞吐量的影响:topic从几十个到几百个的时候,吞吐量会大幅度下降。所以在同等机器下,kafka尽量保证topic数量不要过多。如果要支撑大规模topic,需要增加更多的机器资源;

④时效性:ms级;

⑤可用性:非常高,kafka是分布式的,一个数据多个副本,少数机器宕机,不会丢失数据,不会导致不可用;

⑥消息可靠性:经过参数优化配置,消息可以做到0丢失;

⑦功能支持:功能较为简单,主要支持简单的MQ功能,在大数据领域的实时计算以及日志采集被大规模使用。

缺点:

①由于是批量发送,数据并非真正的实时; 仅支持统一分区内消息有序,无法实现全局消息有序;

②有可能消息重复消费;

③依赖zookeeper进行元数据管理,等等。

4、为什么说Kafka性能很好,体现在哪里?

①顺序读写

②零拷贝

③分区

④批量发送

⑤数据压缩

5、请说明什么是传统的消息传递方法?

传统的消息传递方法包括两种:

排队:在队列中,一组用户可以从服务器中读取消息,每条消息都发送给其中一个人。

发布-订阅:在这个模型中,消息被广播给所有的用户。

6、请说明Kafka相对传统技术有什么优势?

①快速:单一的Kafka代理可以处理成千上万的客户端,每秒处理数兆字节的读写操作。

②可伸缩:在一组机器上对数据进行分区

③和简化,以支持更大的数据

④持久:消息是持久性的,并在集群中进

⑤行复制,以防止数据丢失。

⑥设计:它提供了容错保证和持久性

7、解释Kafka的Zookeeper是什么?我们可以在没有Zookeeper的情况下使用Kafka吗?

Zookeeper是一个开放源码的、高性能的协调服务,它用于Kafka的分布式应用。

不,不可能越过Zookeeper,直接联系Kafka broker。一旦Zookeeper停止工作,它就不能服务客户端请求。

Zookeeper主要用于在集群中不同节点之间进行通信

在Kafka中,它被用于提交偏移量,因此如果节点在任何情况下都失败了,它都可以从之前提交的偏移量中获取

除此之外,它还执行其他活动,如: leader检测、分布式同步、配置管理、识别新节点何时离开或连接、集群、节点实时状态等等。

8、解释Kafka的用户如何消费信息?

在Kafka中传递消息是通过使用sendfile

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值