前语

今日咱们来深化阐明 Kafka 的架构和结束原理。将从架构和细节下手,以生动的图深化阐明 Kafka 的结束原理。

我想许多同学之前或许现已看过许多 Kafka 原理相关的文章,面试毛遂自荐范文但往往看时”牛逼”声连连,热心满满,总觉得自己又学习到了各种“吊炸天”的技术。但许多同学往往是不觉明厉,把文章结合面试题背一背还能唐塞一下半吊子面试官。能够遇到老司机面试官,或是进入实战,却对许多概念和结束摸棱两可,小编笔记本电脑性价比排行总结的这份Kafka面试真题+线程和进程的差异是什么学习笔记你值得具有,希望对你有帮忙!

图解 Kakfa

所以,小编选择图解 Kakfa,却让许八成懂不明白的同学能够加深对 Kafk服务器和电脑主机的差异a 结束原理的了解。服务器租借多少钱一年

一起主张读者同学结合 Kafkaelasticsearch面试 的装备去了解 Kafka 的结束原理,Kafka面试问题 有许多的装备,这也elasticsearch倒排索引是 Kafka 高度扩展的一个体现,许多同学对 Kafka 的服务器租借多少钱一年装备也不敢简略改动。所以了解这些装备背后的完面试毛遂自荐一分钟结原理,能够让咱们在实践中懂得怎样运用和优化 Kafka。既可面试造火箭,也能够实战造火箭。

Kaelasticsearch运用场景fka 装备阐明链接:kafka.apache.org/documentati…

下面是本文的首要的内容:

超具体的Kafka架构原理图解,不明白的你还不抓紧时间上车!

因为内容太多,怕步子迈太大扯着蛋,小编选择将文章分红三篇。此文只会触及上面图中”橙色”的部分。

从本文你将学习到:

  • Kafka 架构规划哲学和原理
  • Kafka 中 zookeeper 的效果
  • Kafka Controller 结束原理
  • Kafka Network 原理

开篇寄语

尽或许做一些产品出来,有一个著作很重要,这是别人了解你的窗口。假设或许,给自己开一个大众号或许一个博客,记载自己每天的见闻思考。刚开服务器体系始记会很凌乱没有逻辑,但坚持下去一定会有很大价值。

Architectelasticsearch倒排索引ure面试毛遂自荐简略大方

了解 Kafka 架构,便是了解 Kafka 的各种组件的概念,以及这些组件的联系。先简略看一下各组件及其简略阐明。

elasticsearch教程要去查验回想他们

Producer: 生产者,发送音讯的一方。生产者担任创立音讯,然后将其发送到 Kafka。elasticsearch中文文档
Consumer: 顾客,承受音讯的一方。顾客衔接到 Kafka 上并接收音讯,然后进行相应的事务逻辑处理。
Consumer Group: 一个顾客组能够包含一个或多个线程池原理顾客服务器。运用多分区 + 多顾客办法能够极大进步数据下流的处理速服务器度,同一消费组中的顾客不会重复消费音讯,相同的,面试问题大全及答案大全不同消费组中的顾客音讯音讯时互不影响。Kafka 便是经过消费组的办法来结束笔记音讯 P2P 办法和播送办法。
Broker: 服务署理节点。Broker 是 K服务器操作体系afka 的服务节点,即 Kafka 的服务器。线程和进程的差异是什么
Topic: Kafka 中的音讯以 Topic 为单位进行区分,生产者将音讯发送到特定的 Topic,而顾客担任订阅 Toelasticsearch面试pic 的音讯并进行消费。
Partition: Topic 是一个逻辑的概念,它能够细分为多个分区,笔记每个分区只归于单个主题。同一个主题下不同分区包含的音讯是不同的,分区在存储层面能够看作一个可追加的日志(Log)文件,音讯在被elasticsearch面试题追加到分区日志文件的时分都会分配一elasticsearch面试题个特定的偏移服务器租借量(offse服务器操作体系t)。
Offset: offset 是音讯在分区中笔记本电脑什么牌子好的仅有标识,Kafka 经过它来确保音讯在分区内的顺序性,不过 offset服务器无法访问或请求被阻拦 并不跨过分区,也便是说,Kafka 确保的是分区有序性而不是主题有序性。
Replication: 副本,是 Kafka 确保数据高可用的办法,Kafka 同一 Partition 的数据能够在多面试 Broker 上存在多个副本elasticsearch面试题,一Elasticsearch般只需主副本对外供应读写服务器体系服务,当主笔记本副本地点面试问题 broker 溃散或产生网络失常,Kafka 会在 Cont面试技巧和注意事项roller 的处理下会从头选择新的 Leader 副本对外供应读写服务。
Record: 实践写入 Kafka 中并能够被读取的音讯记载。每个 record 包含了 key、value 和 timest面试问题大全及答案大全amp。

咱们了解了也就天然记住了

咱们应该经过了解的办法去回想它们。

生产者-顾客

生产者-顾客是一种规划办法,生产者和顾客之间经过添加一笔记本电脑开不了机个中心组件来抵达解耦。生产者向中心组件生成数据,顾客消费数据。

就像 65 哥读书时给小芳写情书,这儿 65 哥便是生产者,情书便是音讯,小芳便是顾客。但有时分小芳不在,或许比较忙,6笔记本电脑开不了机5 哥也比较害羞,不敢直接将情书塞小芳手里,所以将情书塞在小芳抽屉中。所以抽屉便是这个中心组件。

超具体的Kafka架构原理图解,不明白的你还不抓紧时间上车!

在程序中咱们一般运用Queue来作为这个中心组件。能够运用多线程向部队中写入数据,别的的顾笔记本电脑开机黑屏没反应怎样办客线程依次读取部队中的笔记数据进行消费。模型如下图所示:

超具体的Kafka架构原理图解,不明白的你还不抓紧时间上车!

生产者-顾客办法经过添加一个中心层,不只能够解耦生产者和顾客,使其易于扩展,还能够异步化调用、缓冲音讯等。

散布式部队

后来 65 哥和小芳异地了,65 哥在卷都奋斗,小芳在魔都逛街。所以只能经过邮局寄含糊信了。这样 65 哥、邮局和小芳就成了散布式的面试毛遂自荐了。65 哥将函件发给邮局,小芳从邮局拿elasticsearch菜鸟教程到 65 哥写的信,再回去逐渐看。

超具体的Kafka架构原理图解,不明白的你还不抓紧时间上车!

Kaf笔记本电脑怎样连wifika 的音讯生产者便是Producer,上游顾客进程添加 Kafka Clielasticsearch运用场景ent 创立 Kafka Producer,向 Br服务器和电脑主机的差异oker 发送消线程和进程的差异是什么息,Broker 是集群安置在远程服务器上的 Kafka Server 进程,下流顾客进程引入 Kaelasticsearch面试fka Consumer API 持续消费部队中音讯。

因为 Kafka Consumer 运用 Poll 的办法,需求 Consumer 自动elasticsearch面试拉去音讯。悉数小芳只能守时去邮局拿函件了(呃,公然自动权都在小芳手上啊)。

超具体的Kafka架构原理图解,不明白的你还不抓紧时间上车!

主题

邮局不能只为 65 哥服务,尽管 65 哥一天写好几封信。但也无法挽回邮局的丢失。所以邮局是能够供任何人寄信。只需求寄信人写面试毛遂自荐3分钟通用好地址(主题),邮局建有两地的通道就能够发收函件了。

Kafka 的 Topic 才相当于一个部队,Broker 是悉数部队安置的机器。能够按事务创立不同笔记本的 Topic,Producer 向所属事务的 Topic 发送音讯,相应的 Consumer 能够消费并处理音讯。

超具体的Kafka架构原理图解,不明白的你还不抓紧时间上车!

分区

因为 65 哥写的信太多,一个邮局现已无法满意 65 哥的需求,邮政公司只能多建几个邮局了,65 哥将函件按私密度分类(分区战略),从不同的邮局寄送。

超具体的Kafka架构原理图解,不明白的你还不抓紧时间上车!

同一面试问题大全及答案大全个 Topic 能够创立多个分区。理论上分区越多并发笔记本电脑开机黑屏没反应怎样办度越高,Kafka 会根据分区战略将分区尽或许均衡的分线程的几种状态布在不同的 Broker 节点上,以防止音讯歪斜,不同的 Broker 负载差异太大。分区也不是越多越好哦,终究太多邮政公司也服务器租借处理不过来。

副本

为防止因为邮局的问题,比如交通断线程是什么意思啦,邮车没油啦。导致 65 哥的含糊信无法寄到小芳手上,使得 65 哥晚上远程跪键盘。邮elasticsearch倒排索引局选择将 65 哥的函件复制几份发到多个正常服务器怎样建立的邮局,这样只需有一面试毛遂自荐3分钟通用个邮局还在,小芳就能够收到 65 哥的信了。

Kafka 选用分区副本的办法来确保数据的高可用,每个分区都将建立指定数量的副本数,k服务器租借akfa 确保同一分区副本尽量散布在不同的 Broker 节点上,以防止 Broker 宕机导致悉数副本不可用。Kafka 会为分区的多个副本推举一个作为主副本(Leader),主副本对外供应读服务器写服务,从副本(Follower)实时同步 Leader 的数据。

超具体的Kafka架构原理图解,不明白的你还不抓紧时间上车!

多顾客

elasticsearch教程,65 哥的函件满天飞,小芳天天跑邮局,还要线程池的七个参数逐个拆开看,65 哥写的信又臭又长,让小芳忙得浑身大汉大汗。所以小芳啪的一下,很快啊,变出多个统筹去不同的邮局取信,这样小芳终于能够挤出额外的时间逛街了。

播送音讯

邮局服务器是什么最近供应了定制明信片事务,每个人都能够规划明信片,同一个身份只能收取一种明信片。65 哥规划了一堆,播送给悉数美丽的小妹妹都能够来收面试技巧和注意事项取,佳人啪变出的统筹也能够来收取,可是同一个身份的多个统筹只能取一种明信片。

Kafka 经过 Consumer Group 来结束播送办法音讯订阅,即不同 group 下的 consumer 能够重复消费音讯,互相不影响,同一个 group 下的 consumer 构成一个全体。

终究咱们结束了 Kafka 的整面试技巧体架构,如下:

超具体的Kafka架构原理图解,不明白的你还不抓紧时间上车!

Zookee线程和进程的差异是什么per线程池面试题

Zookeeper 是一个老到的散布式调和服务,它能够为散布式服务供应分线程池布式装备服、同步服务和命名注册等才能.。关于任何散布式体系,都需求一种调和任务的办法。Kafka 是运用 ZooKeeper 而构建的散布式面试毛遂自荐体系。可是也有一些其他elasticsearch倒排索引技术(例如 Elasticsearch 和 MongoDB)具有其自己的内置任务调和机制。

Kafka 将 Broker、Topic 和 P服务器和电脑主机的差异artition 的元数据信息存储在 Zookeeper 上。经过在 Zooelasticsearch原理keeper 上建立相应的数据节点,并监听节点的改动,K服务器体系afka 运用 Zookeeper 结束以下功用:

  • Kafka Controller 的 Leader 推举
  • Kafka 集elasticsearch运用场景群成员处理
  • T服务器操作体系op面试常见问题及答复技巧ic 装备处理
  • 分区副本处理

咱们看一看 Zookeeper 下 Kafka 创立的节点,即可一目了然的看出这些相关的功用。

超具体的Kafka架构原理图解,不明白的你还不抓紧时间上车!

Controller

Controller 是从 Brokelasticsearch运用场景er 中推举出来的,担任分区 Leader 和 Follower 的处理。当某个分区的 leader 副本产生缺陷时,由 Controller 担任为该分区推举新的 leader 副本。当检面试问题测到某个分区的 ISR(I笔记本cpu天梯图n-Sync Replica)调集产生改动时,由控制器担elasticsearch菜鸟教程任奉告悉数 broker 更新其元数据信息。当运用kafka-topicelasticsearch怎样读s.sh脚本为某个 topic 添加分区数量时,相同仍是由控制器担任分笔记本电脑开不了机区的从头分配。

Kafka 中 Contorller 的推举的作业依赖于 Zookeeper,成功竞选为控制器的 broker 会在 Zookeeper 中创立/controller这个暂时(EPHEMERAL)节点。

推举过程

超具体的Kafka架构原理图解,不明白的你还不抓紧时间上车!

Broker 建议的时分查验去读取/cont面试问题roller节点的brokerid的值,假设brokerelasticsearch教程id的值不等于-1,则标明现已有其他的 Broker 成功成elasticsearch怎样读为 Con面试troller 节点,当时 Broker 自动放弃竞选;假设不存在/controller节点,或许 brokerid 数值失常,当时 Broker 查验去创立/controller这个节点,此时也有或许其他 broelasticsearch倒排索引ker 一起去查验创立这个节点,只需创立成功的那个 broelasticsearch面试ker 才会成为控制器,而创立失利的 broker 则标明竞选失利。每个 broker 都会在内存中保存当时控制器的 brokerid 值,这个值能够标识为 activeControllerId。

结束

超具体的Kafka架构原理图解,不明白的你还不抓紧时间上车!

Controller 读取 Zookeeper 中的服务器租借多少钱一年节点数据,初始化上下文(Controller Context),并处理节点面试毛遂自荐改动,改动上下文,一起也需求将服务器操作体系麒麟软件这些服务器怎样建立改动信息同步到其他普通的 br服务器是什么oker 节点中。Controller 经过守时任务,或许监听器办法获取 zookeeper 信息,作业监听会更新更新上下文信息,如图所示,Controller 内部也选用生elasticsearch面试产者-顾客结束办法,Controller 将 zookeeper 的改动经过作业的办法发送给作业部队,部队便是一个L服务器和电脑主机的差异inke服务器怎样建立d线程的几种状态BlockingQueue,作业顾客线程组经过消费消费作业,将相应的作业同步到各 Broker 节点。这种部队 FIFO 的办法保面试毛遂自荐简略大方证了音讯的有序性。

责任

Controller 被推举出来,作为整个 Broker 集面试常见问题及答复技巧群的处理者,处理悉数的集群信息和元数据信息。它的责任包含下面几部分:

  1. 处理 Broker 节点的上线和下线程池面试题线,包含天然下线、宕机和网络不可达线程池导致的集群改动,Contro服务器操作体系ller 需求及时更新集群元线程是什么意思数据,并将集群改动奉告到悉数的 Br面试毛遂自荐简略大方oker 集群节点;
  2. 创立 Topic 或许 Topic 扩容分区,Controller 需求担任分区副本的分配作业,并主导 Topic 分区副本的 Leelasticsearch面试ader 推举。
  3. 处理集群中悉数的副本和分区的状况机,监听状况机改动作业,并作出相应的处理。Kafka 分区和副本数据选用状况机的办法处理,分区和副本的改动都在状况机内会引起状况机状况的改动,然笔记本后触发相应的改动作业。


65 哥:状况机啊,听起来好凌乱。

Controller 处理着集群中悉数副本和分面试毛遂自荐范文区的服务器状况机。咱们不要被状况机这个词唬住了。了解状况机很简略。先了解模型,即这是什么elasticsearch菜鸟教程关于什么模型,然后便是模型的情服务器租借况有哪些,笔记本电脑开不了机模型状况之间怎样转化,转化时发送相应的改动作业。

Kafka 的分区和副本状况机很简略面试毛遂自荐范文。咱们先了解,这分别是处理 K服务器操作体系afka Topic 的分区和副本的。它们的状况也很简略,线程池面试题便是 CRUD,具体说来如下:

分区状况机

PartitionStateChan面试问题ge,处理 Topic 的分区,它有以下 4 种状况:

  1. NonExistentPartition:该状况标明分区没有被创立过或创面试毛遂自荐建后被删去线程同步了。
  2. NewPartition:分区服务器操作体系刚创立后,处于这个状况。此状况下分区现已分配了副本,线程和进程的差异是什么可是还没服务器怎样建立有推举 leader,也没有 ISR 列表elasticsearch中文文档
  3. OnlinePa笔记本电脑开机黑屏没反应怎样办rtition:一旦这个分区的 leader 被推举出来,将处于这个笔记本电脑开机黑屏没反应怎样办状况。
  4. Off线程池linePartition:当分区的 leade服务器r 宕机,转移到这个状况。

咱们用一张图笔记本电脑开机黑屏没反应怎样办来直观的看看这些状况是怎样改动的,以及在状况产生改动时 Controller 都有哪些操作:

超具体的Kafka架构原理图解,不明白的你还不抓紧时间上车!

副本状况机

ReplicaStateChange,副本状况,处理分区副笔记本电脑排名前十本信息,它也有 4 种状况:

  1. NewReplica: 创立 topic 和分区分配后创立 replicas,此时,replica 只能获取到笔记本电脑开机黑屏没反应怎样办成为 folElasticsearchlower 状况改动elasticsearch面试题央求。
  2. Onlinelasticsearch运用场景eReplica: 当 re笔记plica 成为服务器怎样建立 parition 的 assingned replicas 时,其状况变为 OnlineReplica, 即一个有用的 OnlineRepliElasticsearchca。
  3. OfflineReplica: 当一个 replica 下线,进入此状况,这一般产生在 broker 宕机的状况下;
  4. NonExistentReplica: Replica 成功删去后,rep笔记lica 进入 Noelasticsearch原理nExistentReplica 状况。
  5. Kafka面试真题+学习笔记。

副本状况间的改动如下笔记本电脑图所示,Controll服务器地址在哪里看er 在状况改动时会做出相应的操作:

超具体的Kafka架构原理图解,不明白的你还不抓紧时间上车!

Network

Kafka 的网络通信笔记本电脑模型是根据 NIO 的 Reactor 多线程模型来规划的。其中包含了一个Accept线程的几种状态or线程,用于处理新的衔接,Acceptor 有 N 个 Processor 线程 select 和 read socket 央求,N 个 Handler 线线程池原理程处理央求并相应,即处理事务逻辑。下面便是 KafkaServer 的模型图:

超具体的Kafka架构原理图解,不明白的你还不抓紧时间上车!

原文链接面试问题:mp.weixin.qq.com/s/jdikbwWSo…