kafka面试知识点整理

一、部署

1.1、安装部署

二、概念及理论

  Kafka是分布式发布-订阅消息系统。它最初由LinkedIn公司开发,之后成为Apache项目的一部分。Kafka是一个分布式的,可划分的,冗余备份的持久性的日志服务。它主要用于处理活跃的流式数据。

  在大数据系统中,常常会碰到一个问题,整个大数据是由各个子系统组成,数据需要在各个子系统中高性能,低延迟的不停流转。传统的企业消息系统并不是非常适合大规模的数据处理。为了能在同时搞定在线应用(消息)和离线应用(数据文件,日志)Kafka就出现了。Kafka可以起到两个作用

  • 降低系统组网复杂度。
  • 降低编程复杂度,各个子系统不在是相互协商接口,各个子系统类似插口插在插座上,Kafka承担高速数据总线的作用。

Kafka主要特点:

  • 同时为发布和订阅提供高吞吐量。据了解,Kafka每秒可以生产约25万消息(50 MB),每秒处理55万消息(110 MB)。

  • 可进行持久化操作。将消息持久化到磁盘,因此可用于批量消费,例如ETL,以及实时应用程序。通过将数据持久化到硬盘以及replication防止数据丢失。

  • 分布式系统,易于向外扩展。所有的producer、broker和consumer都会有多个,均为分布式的。无需停机即可扩展机器。

  • 消息被处理的状态是在consumer端维护,而不是由server端维护。当失败时能自动平衡。支持online和offline的场景。

2.0、Kafka的架构原理

2.1、Producer&Consumer

2.2、Topics and Logs

2.3、kafka文件存储

三、整合

3.1、kafka+flume

3.2、flume+kafka+storm

3.3、kafka 出现错误问题

3.3.1、kafka消费少了

Reference

猜你喜欢

转载自blog.csdn.net/wuxintdrh/article/details/105952112