相信從事it行業的你一定有聽過kafka這門訊息佇列技術。個人認為是隨著行業的不斷成熟,出現了越來越多的系統,系統間的資訊傳輸愈發頻繁,這促使了訊息佇列技術的誕生。而kafka由於其較強的效能與可靠性在各類技術中脫穎而出。
希望本篇文章能對你入門kafka帶來一點幫助。
作為訊息佇列技術,就類似於kafka當個快遞員,把快遞(訊息)從a傳輸到b手中。如上圖所示,小智a就是訊息生產者(producer),可達鴨b就是訊息消費者(consumer)
如果小智把食物發給可達鴨乙隻神奇寶貝,那運輸的過程十分簡單。但如果小智這時打算把食物分發給多個神奇寶貝,卻只給了一大盒食物,神奇寶貝在吃食物的時候就容易搶食;
所以小智學聰明了,他決定把食物放到3個盒子裡,分別對應3個神奇寶貝;這樣他們就能有序的吃自己的食物,不容易混亂。這種把食物(訊息)分成多份,並與消費者一一對應的方法,在kafka裡就叫分割槽partition。
emmmm…我覺得我編不下去了哈哈哈,放一下kafka的各種術語的解釋吧!
producer
訊息生產者; 如flume抽取的資料;
如小智買的食物;
consumer
訊息消費者; 如spark streaming消費資料;
如想吃食物的可達鴨
consumer group
消費者組; 由多個 comsumer組成;
如上圖中吃食物的杰尼龜,可達鴨,皮卡丘
broker
一台伺服器就是乙個broker
編不下去了…
topic
可以理解為乙個佇列;生產者與消費者面向的都是乙個佇列;
好比食物的種類?
partition
分割槽,類似spark中的partition;將資料分到不同的partition中;但每個partition都是乙個有序佇列;
相當於上圖中的飼料碗,保證餵食有序進行…
replica
副本,當集群故障的時候可以快速恢復資料;
每個partition有多個replica副本;
每個分割槽partition都有乙個leader和多個follower
leader
partition中的主資訊;producer傳送資料的物件,consumer消費資料的物件;
我覺得leader某種程度上等價於partition;
follower
不停的向leader同步資料;當leader掛掉的時候,follower就會重新競選生成leader;
kafka中的isr,ar代表什麼?
isr(in-sync replica): 與 leader保護同步的follower集合
ar(assigned replica): 分割槽的所有副本
kafka中的hw,leo等分別代表什麼?
leo (log end offset): 當前日誌檔案中的下一條要寫入訊息的offset
hw (high watermak): 高水位,標誌consumer可消費的日誌的範圍;
如 hw = 6,則consumer可消費的範圍是0 ~ 5
kafka中是怎麼體現訊息順序性的?
每個分區內,每條訊息都有乙個offset,保證分區內有序
kafka中的分割槽器,序列化器,***是否了解?他們之間的順序是如何?
*** --> 序列化器 --> 分割槽器
kafka生產者客戶端的整體結構是什麼樣子的?使用了幾個執行緒來處理?
main執行緒,sender執行緒
討論消費者組中的消費者個數 m 與 topic的分割槽數 n 關係
m > n: 有消費者無法資料
m = n: 消費者 與 分割槽 一一對應
m < n: 有消費者消費多個分割槽
kafka啟動命令 Kafka入門
kafka是乙個高效能分布式訊息系統,今天就簡單介紹下基礎入門吧。tar xzf kafka 2.12 2.2.0.tgz cd kafka 2.12 2.2.0二 啟動伺服器kafka使用zookeeper,所以我們要先啟動zookeeper,可以使用安裝檔案裡面的啟動命令啟動乙個單節點的zook...
kafka入門簡介
1 概述 kafka是linkedin於2010年12月份開源的訊息系統,它主要用於處理活躍的流式資料。活躍的流式資料在web 應用中非常常見,這些資料報括 的pv 使用者訪問了什麼內容,搜尋了什麼內容等。這些資料通常以日誌的形式記錄下來,然後每隔一段時間進行一次統計處理。2 設計目標 1 資料在磁...
kafka 簡單入門
乙個副本乙個分割槽 通過選項create建立mytest的topic,副本數為1 分割槽數為1 binsh kafka topics.sh create zookeeper 192.168.10.151 2181 replication factor1 partitions1 topic mytes...