亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 課堂 > 基礎知識 > 正文

Kafka架構原理,也就這么回事!

2024-09-12 20:30:21
字體:
來源:轉載
供稿:網友

Kafka架構原理,也就這么回事!

圖片來自 Pexels

最終大家會掌握 Kafka 中最重要的概念,分別是 Broker、Producer、Consumer、Consumer Group、Topic、Partition、Replica、Leader、Follower,這是學會和理解 Kafka 的基礎和必備內容。

定義

Kafka 是一個分布式的基于發布/訂閱模式的消息隊列(Message Queue),主要應用與大數據實時處理領域。

消息隊列

Kafka 本質上是一個 MQ(Message Queue),使用消息隊列的好處?(面試會問)

解耦:允許我們獨立的擴展或修改隊列兩邊的處理過程。

可恢復性:即使一個處理消息的進程掛掉,加入隊列中的消息仍然可以在系統恢復后被處理。

緩沖:有助于解決生產消息和消費消息的處理速度不一致的情況。

靈活性&峰值處理能力:不會因為突發的超負荷的請求而完全崩潰,消息隊列能夠使關鍵組件頂住突發的訪問壓力。

異步通信:消息隊列允許用戶把消息放入隊列但不立即處理它。

發布/訂閱模式

一對多,生產者將消息發布到 Topic 中,有多個消費者訂閱該主題,發布到 Topic 的消息會被所有訂閱者消費,被消費的數據不會立即從 Topic 清除。

架構

Kafka 存儲的消息來自任意多被稱為 Producer 生產者的進程。數據從而可以被發布到不同的 Topic 主題下的不同 Partition 分區。

在一個分區內,這些消息被索引并連同時間戳存儲在一起。其它被稱為 Consumer 消費者的進程可以從分區訂閱消息。

Kafka 運行在一個由一臺或多臺服務器組成的集群上,并且分區可以跨集群結點分布。

下面給出 Kafka 一些重要概念,讓大家對 Kafka 有個整體的認識和感知,后面還會詳細的解析每一個概念的作用以及更深入的原理:

Producer: 消息生產者,向 Kafka Broker 發消息的客戶端。

Consumer:消息消費者,從 Kafka Broker 取消息的客戶端。

Consumer Group:消費者組(CG),消費者組內每個消費者負責消費不同分區的數據,提高消費能力。一個分區只能由組內一個消費者消費,消費者組之間互不影響。所有的消費者都屬于某個消費者組,即消費者組是邏輯上的一個訂閱者。

Broker:一臺 Kafka 機器就是一個 Broker。一個集群由多個 Broker 組成。一個 Broker 可以容納多個 Topic。

Topic:可以理解為一個隊列,Topic 將消息分類,生產者和消費者面向的是同一個 Topic。

Partition:為了實現擴展性,提高并發能力,一個非常大的 Topic 可以分布到多個 Broker (即服務器)上,一個 Topic 可以分為多個 Partition,每個 Partition 是一個 有序的隊列。

Replica:副本,為實現備份的功能,保證集群中的某個節點發生故障時,該節點上的 Partition 數據不丟失,且 Kafka 仍然能夠繼續工作,Kafka 提供了副本機制,一個 Topic 的每個分區都有若干個副本,一個 Leader 和若干個 Follower。

Leader:每個分區多個副本的“主”副本,生產者發送數據的對象,以及消費者消費數據的對象,都是 Leader。

Follower:每個分區多個副本的“從”副本,實時從 Leader 中同步數據,保持和 Leader 數據的同步。Leader 發生故障時,某個 Follower 還會成為新的 Leader。

Offset:消費者消費的位置信息,監控數據消費到什么位置,當消費者掛掉再重新恢復的時候,可以從消費位置繼續消費。

Zookeeper:Kafka 集群能夠正常工作,需要依賴于 Zookeeper,Zookeeper 幫助 Kafka 存儲和管理集群信息。

工作流程

Kafka集群將 Record 流存儲在稱為 Topic 的類別中,每個記錄由一個鍵、一個值和一個時間戳組成。

Kafka 是一個分布式流平臺,這到底是什么意思?

發布和訂閱記錄流,類似于消息隊列或企業消息傳遞系統。

以容錯的持久方式存儲記錄流。

處理記錄流。

Kafka 中消息是以 Topic 進行分類的,生產者生產消息,消費者消費消息,面向的都是同一個 Topic。

Topic 是邏輯上的概念,而 Partition 是物理上的概念,每個 Partition 對應于一個 log 文件,該 log 文件中存儲的就是 Producer 生產的數據。

Producer 生產的數據會不斷追加到該 log 文件末端,且每條數據都有自己的 Offset。

消費者組中的每個消費者,都會實時記錄自己消費到了哪個 Offset,以便出錯恢復時,從上次的位置繼續消費。

存儲機制

由于生產者生產的消息會不斷追加到 log 文件末尾,為防止 log 文件過大導致數據定位效率低下,Kafka 采取了分片和索引機制。

它將每個 Partition 分為多個 Segment,每個 Segment 對應兩個文件:“.index” 索引文件和 “.log” 數據文件。

這些文件位于同一文件下,該文件夾的命名規則為:topic 名-分區號。例如,first 這個 topic 有三分分區,則其對應的文件夾為 first-0,first-1,first-2。

# ls /root/data/kafka/first-0         

00000000000000009014.index     

00000000000000009014.log 

00000000000000009014.timeindex 

00000000000000009014.snapshot    

leader-epoch-checkpoint 

index 和 log 文件以當前 Segment 的第一條消息的 Offset 命名。下圖為 index 文件和 log 文件的結構示意圖:

(編輯:武林網)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美一区二区三区艳史| 久久九九精品99国产精品| 成人h片在线播放免费网站| 亚洲精品免费网站| 久久影院中文字幕| 久久久99免费视频| 国产精品日韩欧美| 亚洲丝袜在线视频| 国产99久久精品一区二区永久免费| 成人网中文字幕| 亚洲国产女人aaa毛片在线| 国产在线观看91精品一区| 久久综合国产精品台湾中文娱乐网| 欧美日韩视频在线| 91精品国产高清久久久久久| 久久精品视频在线观看| 国产xxx69麻豆国语对白| 中日韩美女免费视频网站在线观看| 91精品国产自产在线| 亚洲人成亚洲人成在线观看| 精品国产91久久久久久| 亚洲精品在线观看www| 2021久久精品国产99国产精品| 97碰碰碰免费色视频| 一区二区欧美亚洲| 亚洲第一福利在线观看| 日韩免费观看网站| 久久精品人人做人人爽| 国产精品黄色av| 久久五月天综合| 亚洲精品一区中文字幕乱码| 这里只有精品在线播放| 久久香蕉国产线看观看av| 国内偷自视频区视频综合| 日韩国产精品一区| 永久免费看mv网站入口亚洲| 亚洲一区二区三区在线免费观看| 欧美视频免费在线观看| 91社区国产高清| 日韩在线视频二区| 午夜欧美大片免费观看| 久久91精品国产91久久久| 日本欧美一二三区| 亚洲精品第一国产综合精品| 日韩av电影院| 欧美在线播放视频| 久久免费视频这里只有精品| 国产精品99免视看9| 欧洲日本亚洲国产区| 91av在线国产| 亚洲**2019国产| 久久久久久久久久亚洲| xxxxx91麻豆| 97不卡在线视频| 国产最新精品视频| 欧美日韩国产在线看| 国产主播喷水一区二区| 日韩欧美a级成人黄色| 日韩美女写真福利在线观看| 亚洲欧美成人在线| 亚洲欧美国产高清va在线播| 激情懂色av一区av二区av| 亚洲一区美女视频在线观看免费| 欧美丰满少妇xxxxx| 国产精品xxxxx| 精品国产一区二区三区久久久| 国产精品一香蕉国产线看观看| 日韩中文字幕在线观看| 欧美日韩亚洲精品内裤| 亚洲国产精品悠悠久久琪琪| 97热精品视频官网| 亚洲国产中文字幕久久网| 欧美黑人xxxⅹ高潮交| 亚洲aa中文字幕| 国产免费一区二区三区在线能观看| 久久久久久91香蕉国产| 欧美色视频日本高清在线观看| 国产精品久久久久久久久免费| 中日韩美女免费视频网址在线观看| 精品国内产的精品视频在线观看| 日本中文字幕久久看| 日韩欧美极品在线观看| 成人免费看片视频| 亚洲裸体xxxx| 少妇高潮 亚洲精品| 欧美激情精品久久久久久| 91精品国产高清久久久久久久久| 亚洲成av人影院在线观看| 日韩欧美在线免费观看| 亚洲国产欧美一区| 国产精品国产自产拍高清av水多| 中日韩美女免费视频网站在线观看| 欧美高清视频在线| 欧美激情视频给我| 久久全国免费视频| 精品国产一区二区三区久久久狼| 亚洲一级一级97网| 久久99热这里只有精品国产| 91在线免费看网站| 不卡av在线网站| 国产欧美精品日韩精品| 久久精品国产99国产精品澳门| 日韩电视剧免费观看网站| 亚洲色图美腿丝袜| 亚洲日本成人女熟在线观看| 精品调教chinesegay| 热99精品只有里视频精品| 国产精品吹潮在线观看| 亚洲欧美中文在线视频| 久久久久久久一| 日韩有码在线播放| 在线观看视频99| 亚洲最大福利网| 欧美成人中文字幕| 亚洲欧美日韩精品久久| 欧美日韩第一页| 精品视频在线播放色网色视频| 日韩三级成人av网| 久久久久久久国产精品视频| 97久久精品人人澡人人爽缅北| 亚洲精品国产综合区久久久久久久| 欧美大奶子在线| 国产在线拍偷自揄拍精品| 国产亚洲一区二区精品| 国产精品久久91| 国产99视频在线观看| 精品国产视频在线| 欧美性视频精品| 中文字幕v亚洲ⅴv天堂| 日韩在线欧美在线| 少妇久久久久久| 欧美怡红院视频一区二区三区| 国产精国产精品| 精品在线欧美视频| 精品视频偷偷看在线观看| 国产精品久久久久久久久久尿| 欧美一区深夜视频| 成人欧美在线观看| 亚洲国产天堂久久综合| 亚洲人午夜精品| 欧美老妇交乱视频| 美女久久久久久久| 日韩电影中文字幕在线观看| 国产在线拍偷自揄拍精品| 久久久精品中文字幕| 91免费在线视频网站| 中文字幕视频在线免费欧美日韩综合在线看| www.欧美视频| 久久大大胆人体| 在线播放国产一区中文字幕剧情欧美| 2019精品视频| 久久av红桃一区二区小说| 欧美日韩激情视频| 成人黄色在线播放| 91精品国产91久久久久久不卡| 日本欧美爱爱爱| 欧美一级淫片播放口| 秋霞成人午夜鲁丝一区二区三区| 国内外成人免费激情在线视频网站| 国产精品流白浆视频| 久久久久久久香蕉网| 亚洲欧美日韩网| 国产精品专区h在线观看| 久久天天躁狠狠躁夜夜躁|