面試官:Kafka是什麼,它有什麼特性與使用場景?

曠世奇才927發表於2022-05-10

哈嘍!大家好,我是小奇,一位熱愛分享的程式設計師
小奇打算以輕鬆幽默的對話方式來分享一些技術,如果你覺得通過小奇的文章學到了東西,那就給小奇一個贊吧
文章持續更新

一、前言

不知不覺進入了五月份了,天氣越來越炎熱了,然而苦逼的我還要出門找工作,這朗朗乾坤難道就沒有我奇謀人的容身之地嗎?

背上我拉鍊拉不上的破書包,推開家裡那破舊的木頭門,走在我們人才村的小土道上,此時我陷入了沉思,我到底還要不要堅持,不行就跟村裡的人一起出去打工好了,最起碼不用加班啊。

不知不覺走到了村口,劉嬸還像往常一樣雞賊的坐在村口東張西望,企圖打聽點什麼訊息。

劉嬸:“小奇這是去哪裡啊!還揹著書包”。

我:“去鎮上坐大巴車進京找工作”。

劉嬸:“又去找工作啊,我沒記錯的話前兩年你就在找工作吧”。

我:“沒辦法,一年比一年行情差”。

劉嬸:“要我說你就別進京找工作了,在我們們人才村好好待著吧”。

我:“我不出去打工,那你養我啊”。

劉嬸:“哎呀~~,你劉嬸這麼高貴,一般人可沒有機會喲”。

在這裡插入圖片描述

劉嬸:“但是要是小奇你的話,我肯定給你機會呀!”。

我:“算了吧劉嬸,我這小體格子還是不冒險了。。。”。

劉嬸:“哎呀小奇你想什麼呢,我就想讓你再給我講幾個八卦,這也不費力呀!”。

我:“等我過年回來了吧,到時候再給你講”。

劉嬸:“中,那說準了啊,劉嬸跟你不見不散”。

(我特麼保持微笑。。。)

在這裡插入圖片描述

坐上了進京的大巴車,車子緩緩開動,我的內心五味雜陳,這一去不知道幾天才能找到工作,晚上不知道去哪裡落腳呢。

車子越來越堵,我就知道快要到了,看著窗外慢慢從破舊平房轉變成了高樓大廈,我不由得感慨,什麼時候這裡才能有我的一席之地啊。

二、面試

進了京我一刻也不敢停歇,馬上找到要面試的公司準備面試,到了前臺登記完畢,給hr打了一個電話,靜靜的等待著hr前來領我去面試。

一會兒一位頗有氣質的大姐姐出來了,她一一席職業裝,上身白襯衫雖然有些褶皺但是也遮不住她那豐腴的體態,下身的職業裙更顯示出她的婀娜多姿。

大姐姐:“小奇是吧”。

我:“是我”。

大姐姐:“跟我來吧”。

她把我帶到一個小姐姐身邊跟她說來面試的,然後小姐姐給了我一份題讓我先做。

我做完題交給了小姐姐,小姐姐就開始面試我了,我沒想到竟然還有女開發,雖然小姐姐戴著口罩,但是通過她那清澈的眼眸以及嬌小的身材,我能感受到這家公司需要我,我要留下來。。。(“逮蝦戶”)

在這裡插入圖片描述

小姐姐:“小奇是吧,帶簡歷了嗎?”

我:“帶了,這是我的簡歷”。

小姐姐:“我看你寫的精通kafka,真的嗎?(小姐姐不可思議的瞪大了眼睛)”

我:“我時而精通時而瞭解,這得看面試官怎麼樣。。。”

小姐姐:“那你覺得我怎麼樣?”

我:“看我徵不征服你就完了。。。”

請新增圖片描述

三、Kafka是什麼

小姐姐:“那你說一下kafka是什麼吧”

我:“Kafka 是一種高吞吐量的分散式釋出訂閱訊息系統,它可以支援分割槽,基於zookeeper協調的分散式訊息系統,它相比其它訊息佇列中介軟體來說最大的特點就是可以實時的處理大量資料以滿足各種需求場景”。

四、Kafka有哪些使用場景

小姐姐:“那你說一下kafka有哪些使用場景吧”

1、日誌收集:
公司可以用kafka來收集公司系統的所有日誌,然後通過kafka以統一介面服務的方式開發給其它資料處理中介軟體,例如hadoop等。

2、訊息佇列系統:
這個就跟其它的訊息佇列中介軟體類似了,就是解耦生產者和消費者,使用佇列來快取訊息,達到削峰填谷的效果。

3、使用者活動跟蹤:
記得有一天劉嬸牙疼呢,他就去網上搜牙疼是什麼原因引起的,後來他就下地幹活了,等晚上回來閒著沒事開啟了淘寶,發現全是給她推薦牙疼藥的,劉嬸說淘寶可真貼心呀,知道我正需要呢,先買上三盒藥。

這裡就是通過kafka來記錄劉嬸通過web網站搜尋了什麼,點選了什麼,檢視了什麼,最後把這些活動收集到大資料分析平臺,最終得出劉嬸應該需要牙疼藥。

4、運營指標:
kafka可以用來記錄運營監控資料,比如一些警報或者報告。

五、Kafka有哪些特性

小姐姐:“那你說一下kafka有哪些角色組成吧”

1、Broker
訊息中介軟體處理節點,一個Kafka節點就是一個broker,多個broker就可以組成一個kafka叢集。

2、Topic
釋出到kafka中的每一條訊息都對應一個topic,kafka根據topic來對訊息進行分類。

3、Producer
訊息生產者,負責向Broker傳送訊息。

4、Consumer
訊息消費者,從Broker讀取訊息。

5、ConsumerGroup
消費者組,消費者組裡可以有多個消費者,一條訊息可以被多個不同的消費者組消費,但是一個消費者組中只能有一個消費者消費到該訊息。

可以理解為消費者組就是一個班級,消費者就是學生,然而學校可以為每個班級都傳送一個三好學生獎狀,但是每個班級裡面只能有一個學生得到獎狀。

6、Partition
一個topic可以分為多個partition,每個partition內部的訊息都是有序的。

在這裡插入圖片描述

小姐姐:“那你說一下為什麼要對topic下進行分割槽呢”

我:“本來一個topic就是一類訊息,在資料量少的時候並不需要分割槽,但是kafka就是專門用來處理大量的資料的,所以如果資料過多的話那麼在一臺電腦上就儲存不下,所以需要將topic分成多個partition,然後可以將不同的partition放入不同的電腦上”。

小姐姐:“小哥你還是真厲害啊”

我:“我更厲害的還在後面呢,等我入職了我慢慢給你展示。。。”

小姐姐:“行吧,我這裡算過了,等我們專案經理來了我再問問他的意見吧”

我:“你不是專案經理啊,那你是hr嗎,怎麼會懂技術呢。。。”

小姐姐:“我也是開發”

我:“那你在這裡工作幾年了”

小姐姐:“今年是第三年”

我:“年輕真好,就是水靈。。。”

六、總結

這裡關於Kafka還沒有整理完畢,文章後面持續更新,建議收藏。

文章中涉及到的命令大家一定要像我一樣每個都敲幾遍,只有在敲的過程中才能發現自己對命令是否真正的掌握了。

如果覺得我的文章還不錯的話就點個贊吧

相關文章