本文主要讲解“大数据卡夫卡常见的面试问题有哪些”,感兴趣的朋友不妨看看。本文介绍的方法简单、快速、实用。让边肖带你学习“大数据卡夫卡常见的面试问题有哪些”!
1.卡夫卡是什么?
Apache Kafka是Scala编写的开源消息系统。是由Apache软件基金会开发的开源消息系统项目。
Kafka最初由LinkedIn开发,于2011年初开业。2012年10月毕业于Apache孵化器。该项目的目标是为处理实时数据提供一个统一的、高吞吐量和低延迟的平台。
卡夫卡是一个分布式消息队列:生产者和消费者的功能。它提供了类似于JMS的功能,但在设计和实现上完全不同。此外,它不是JMS规范的实现。Kafka在保存消息时会根据主题对消息进行分类。消息的发送者称为生产者,消息的接收者称为消费者。另外,kafka集群由多个Kafka实例组成,每个实例(服务器)都成为一个代理。kafka集群、生产者和消费者都依赖zookeeper集群来保存一些元信息,以确保系统可用性。
2.卡夫卡与传统信息系统的区别
(1)在构建http://lib.csdn.net/base/architecture模型方面
RabbitMQ遵循AMQP协议,其代理由交换、绑定和队列组成,其中交换和绑定构成了消息的路由密钥。客户端生产者通过连接通道与服务器通信,消费者从队列中获取消息进行消费(长连接时,队列中的消息会推送给消费者,消费者循环读取输入流中的数据)。RabbitMQ以经纪人为中心;有消息确认机制。
Kafka遵循通用MQ结构,生产者、经纪人、消费者、以消费者为中心,消息的消费信息保存在客户端消费者上,消费者根据消费点从经纪人批量拉取数据;没有消息确认机制。
(2)在吞吐量方面
卡夫卡的吞吐量很高。内部采用消息批处理和零拷贝机制。数据的存储和获取是本地磁盘的顺序批处理操作,具有O(1)的复杂性和消息处理的高效率。
RabbitMQ在吞吐量上略逊于kafka。他们的出发点不同。rabbitMQ支持消息、事务和批处理操作的可靠传递。根据存储可靠性的要求,可以使用内存或硬盘进行存储。
(3)在可用性方面
RabbitMQ支持miror的队列。主队列失败,miror队列接管。卡夫卡的经纪人支持主备模式。
(4)在集群负载均衡方面。
Kafka使用zookeeper管理集群中的经纪人和消费者,并可以向zookeeper注册话题。通过动物园管理员的协调机制,生产者保存与主题相对应的经纪人信息,这些信息可以随机或通过轮询发送给经纪人。生产者可以根据语义指定一个片段,消息被发送到代理的一个片段。
(5)卡夫卡与主动式MQ的区别
主题:主题,即一个标识符,类似于地图中的关键字,用于对消息进行分类,消息根据主题进行分类。
共性:有两个组成部分,生产者和消费者。生产者向他们各自的服务器发送消息。
(如果发送了消息,将定义一个主题)并存储。差异:
主动MQ:消费者会提前订阅自己需要的话题。当主题中有消息时,activeMQ服务器会将消息发送给消费者,然后消费者会去服务器获取他们想要的数据。
卡夫卡:消费者(指定话题)会定期去卡夫卡服务器获取话题中的数据。
(6)卡夫卡的成分介绍(6)
制作人:制作人,主要用于制作我们的消息,通过制作人将我们的消息推送至卡夫卡集群。
主题:某种类型的消息是高度抽象的,可以理解为某种类型消息的集合。某一类型的消息,每个主题将被分成多个分区并配置在集群的配置文件中。Broker:kafka的服务器,一个Broker代表了服务器的节点分区的概念:partition。一个主题中的消息可以拆分成多个分区分区,存储在多个不同的服务器上,实现数据存储的横向扩展。
复制:副本,所有分区都可以指定存储多少副本,从而实现数据冗余,保证数据安全。
段:每个部分由多个段组成,段包含两个部分,一个是. log文件,另一个是。索引文件。日志:存储我们
的日志文件,所有的数据,最后都以日志文件的形式存放到了 kafka 集群当中
.index :索引文件,所有的.log 文件的索引都存放在了这里,便于我们查找某一条日志文件的快速
consumer:消费者,消费我们 kafka 集群当中的消息, 问题:如何知道消费者消费到了哪一条消息来了??? 可以通过记录的方式,记下来每次我们消费的位置。
第一种记录方式:kafka 的本地文件系统,比较慢,对应 kafka 的一个慢速消费的方式
第二种记录方式:zookeeper 当中的节点数据记录,比较快,对应 kafka 的一个快速消费的方式
offset:偏移量,就是记录的我们消费到了哪一条数据来了。
发布者发到某个 topic 的消息会被均匀的分布到多个 part 上,broker 收到发布消息往对应 part 的最后一个 segment 上添加该消息。
3、kafka 集群的安装与搭建
第一步:下载上传压缩包
第二步:解压
第三步:安装包的分发第
四步:修改配置文件
第一台服务器修改配置文件
第二台服务器修改配置文件第三台服务器修改配置文件第四步:三台服务器的启动三台服务器的启动
到此,相信大家对“大数据kafka常见面试题有哪些”有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/156534.html