面试题你对kafka了解到什么程度(kafka面试知识点深度剖析)

技术大数据kafka常见面试题有哪些本篇内容主要讲解“大数据kafka常见面试题有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“大数据kafka常见面试题有哪些”吧!1、

本文主要讲解“大数据卡夫卡常见的面试问题有哪些”,感兴趣的朋友不妨看看。本文介绍的方法简单、快速、实用。让边肖带你学习“大数据卡夫卡常见的面试问题有哪些”!

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

(0)

相关推荐

  • 分布式机器学习中的模型聚合

    技术分布式机器学习中的模型聚合 分布式机器学习中的模型聚合我follow的这篇论文在联邦学习(分布式)的情景下引入了多任务学习,其采用的手段是使每个client/task节点的训练数据分布不同,从而使各

    礼包 2021年12月3日
  • 怎么在生产环境运行Elasticsearch

    技术怎么在生产环境运行Elasticsearch这篇文章主要讲解了“怎么在生产环境运行Elasticsearch”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么在生产环

    攻略 2021年11月4日
  • C# PowerPoint中如何添加、修改和删除动画

    技术C# PowerPoint中如何添加、修改和删除动画小编给大家分享一下C# PowerPoint中如何添加、修改和删除动画,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获

    攻略 2021年11月19日
  • 如何配置Hibernate

    技术如何配置Hibernate本篇内容主要讲解“如何配置Hibernate”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何配置Hibernate”吧!当我们有了一个持久化类

    攻略 2021年12月4日
  • Oracle中怎么保证用户只有一个Session登录

    技术Oracle中怎么保证用户只有一个Session登录小编给大家分享一下Oracle中怎么保证用户只有一个Session登录,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

    攻略 2021年11月18日
  • PHP实现交换两个整型变量的方法有哪些

    技术PHP实现交换两个整型变量的方法有哪些这篇文章主要介绍“PHP实现交换两个整型变量的方法有哪些”,在日常操作中,相信很多人在PHP实现交换两个整型变量的方法有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操

    攻略 2021年11月16日