欧美free性护士vide0shd,老熟女,一区二区三区,久久久久夜夜夜精品国产,久久久久久综合网天天,欧美成人护士h版

首頁綜合 正文
目錄

柚子快報(bào)激活碼778899分享:Kafka之基本概念

柚子快報(bào)激活碼778899分享:Kafka之基本概念

http://yzkb.51969.com/

1、Kafka是什么?

Kafka是由Scala語言開發(fā)的一個多分區(qū)、多副本,基于Zookeeper集群協(xié)調(diào)的系統(tǒng)。

那這個所謂的系統(tǒng)又是什么系統(tǒng)呢?

回答這個問題要從發(fā)展的角度來看:起初Kafka的定位是分布式消息系統(tǒng)。但是目前它的定位是一個分布式流式處理平臺,用于實(shí)時數(shù)據(jù)集成和流數(shù)據(jù)處理。

2、Kafka都可以扮演哪些“角色”?

基于Kafka的發(fā)展和特性,它可以在我們的實(shí)際工作當(dāng)中扮演以下幾個“角色”:

消息系統(tǒng)存儲系統(tǒng):將消息持久化到磁盤上。流式處理平臺:可以集成多種流式處理框架(例如:SparkStream、Flink等),不但可以作為可靠的數(shù)據(jù)源,同時提供了一套完整的流處理類庫,例如:窗口、連接、交換和聚合等操作。

3、Kafka的體系架構(gòu)?

Kafka體系架構(gòu)包括:生產(chǎn)者(Producer)、消費(fèi)者(Consumer)、服務(wù)代理節(jié)點(diǎn)(Broker)、一個Zookeeper集群。

生產(chǎn)者(Producer) 作為消息的發(fā)送方。負(fù)責(zé)創(chuàng)建消息,并將消息發(fā)送給Broker。 消費(fèi)者(Consumer) 作為消息的接收方。負(fù)責(zé)連接Kafka并接收消息,進(jìn)而進(jìn)行相應(yīng)的邏輯處理。 代理服務(wù)節(jié)點(diǎn)(Broker) 可以看做一個Kafka實(shí)例,多個Broker組成一個Kafka集群。 Zookeeper集群 Zookeeper用來負(fù)責(zé)Kafka集群的元數(shù)據(jù)管理和控制器的選舉等操作。

讓我們進(jìn)一步來描述Producer、Consumer、Broker之間的關(guān)系以及作用:

Producer創(chuàng)建消息并將消息發(fā)送給Borker,Broker將接收到的消息存儲到本地的磁盤上,Consumer負(fù)責(zé)在Broker上訂閱并消費(fèi)消息。

4、主題、分區(qū)、副本

Kafka中有三個重要的概念,主題、分區(qū)和副本。它們之間的關(guān)系如下圖: 通過上圖我們可以得知:

1個主題對應(yīng)多個分區(qū);一個分區(qū)對應(yīng)多個副本;副本又分為一個leader副本和多個follower副本。

4.1、主題

主題是一個邏輯概念,我們可以把它當(dāng)做消息的分類。Producer發(fā)送消息的時候會指明該消息所屬的主題(即可以理解為Producer是將消息發(fā)送給了主題),一個消息只屬于一個主題。

4.2、分區(qū)

一個主題下會細(xì)分為多個分區(qū),每個分區(qū)對應(yīng)一個主題。消息在分區(qū)中的以offset(偏移量)作為唯一標(biāo)識。Kafka通過offset來保證消息在分區(qū)中的順序。offset不能跨區(qū),所以我們說分區(qū)是有序的,而主題是無序。分區(qū)可以分布在不同的broker上。

4.3、副本

一個分區(qū)會有多個副本,副本中的消息都是一致的(同一時刻可能會有不一致的情況)。 副本之間的關(guān)系是“一主多從”,即一個leader副本和多個follower副本。

leader副本:負(fù)責(zé)消息的讀寫。follower副本:負(fù)責(zé)同步leader副本。 副本被分布到不同的broker上,leader副本掛掉了,會從follower副本中重新選舉出一個新的leader副本。 我們將分區(qū)中所有副本統(tǒng)稱為AR(Assigned Replicas)。其中一些與leader副本保持一定程度同步的副本(包括leader副本本身)統(tǒng)稱為ISR(In-Sync Replicas)。而另外一些相較于leader副本滯后很多的副本統(tǒng)稱為OSR(Out-of-Sync Replicas)。 由此可見,AR = ISR + OSR。正常情況下,所有follower副本都要與leader版本保持一定程度的同步,即AR = ISR,而OSR集合為空。 默認(rèn)情況下,leader副本只能從ISR中的副本中選舉出來。但是我們可以通過參數(shù)配置使得OSR中的副本也有機(jī)會被選舉為leader副本。 leader副本還負(fù)責(zé)所有follower副本滯后狀態(tài)的維護(hù)和跟蹤,即當(dāng)follower副本滯后較多的時候會將它從ISR中移動到OSR中,也會將OSR中追上leader副本的follower副本移動到ISR中。 特定偏移量HW和LEO。

針對分區(qū)有一個概念為高水位(High Watermark,縮寫HW),它是一個特定的消息偏移量(offset),消費(fèi)者只能接收到offset之前的消息ISR中的每個follower副本都維護(hù)一個自己的LEO(Log End Offset),它也是一個特定的消息偏移量(offset),即待寫入消息的偏移量。

HW與LEO之間的關(guān)系,如下圖: 通過上圖我們可以得知:分區(qū)的HW是通過ISR中最小的LEO得出的。

4.4、如何避免Consumer宕機(jī)重啟后的消息丟失?

Consumer是通過拉(Pull)模式從服務(wù)端拉取消息的,同時會在Consumer端記錄下消費(fèi)的具體位置,當(dāng)Consumer宕機(jī)重啟后會根據(jù)之前記錄的消費(fèi)位置重新拉取需要的信息進(jìn)行消費(fèi)。

下一篇:Kafka之生產(chǎn)者

柚子快報(bào)激活碼778899分享:Kafka之基本概念

http://yzkb.51969.com/

推薦文章

評論可見,查看隱藏內(nèi)容

本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場。

轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。

本文鏈接:http://m.gantiao.com.cn/post/19581444.html

發(fā)布評論

您暫未設(shè)置收款碼

請?jiān)谥黝}配置——文章設(shè)置里上傳

掃描二維碼手機(jī)訪問

文章目錄