本課程的視頻教程地址:《Kafka實戰項目之分析與設計》html
本課程我經過一個用戶實時上報日誌案例做爲基礎,帶着你們去分析Kafka這樣一個項目的各個環節,從而對項目的總體設計作比較合理的規劃,最終讓你們可以經過本課程去掌握相似Kafka項目的分析與設計。下面,我給你們介紹本課程包含的課時內容,以下圖所示:前端
接下來,咱們開始第一課時的學習:《項目總體概述》。chrome
項目總體概述主要講解一個項目產生的背景,以及該項目背後的目的,從而讓你們更好的去把握項目的需求。服務器
本課時所涉及的主要知識點,以下圖所示:架構
那麼,接下來,我就先從背景來給你們簡述一個項目,背景包含一下知識點,以下圖所示:app
前面我已經給你們說明了,這是一個實時統計項目,咱們能夠實時的訪問記錄, 經過實時流式計算後,獲得用戶實時的訪問行跡。這個和離線計算有所區別,離線計算任務,不能立馬獲得咱們想要的結果。學習
那麼,這樣一個項目咱們能獲得什麼好處,舉個例子:網站
業績部門的同事須要知道當天的用戶實時瀏覽行跡,而針對這一需求,咱們能夠經過實時計算後,將統計後的結果 經過圖表可視化出來,讓業績部門的同事能夠很是清晰的知道,公司的用戶對公司的那些業務模塊趕興趣,需求量比較大, 那麼業績部門的同事,能夠這一塊重點投入,對那些不是很趕興趣,需求量較小的模塊,業績部門的同事能夠投入的成本相對低一些。spa
以上即是我爲你們介紹的項目背景,下面我給你們介紹項目的目的。設計
項目的目的所包含的內容,以下圖所示:
關於詳細的目的內容,這裏我就很少作贅述了。《觀看地址》
Producer模塊分析一課給你們介紹數據生產環節,我帶着你們去分析生產數據來源,讓你們掌握數據如何收集到 Kafka 的 Producer 模塊。
其主要知識點包含如下內容,以下所示:
下面,咱們先去分析數據來源。咱們知道,在日誌記錄中一條日誌記錄表明用戶的一次活動形跡,下面我我從實時日誌記錄中抽取的一條用戶記錄,以下所示:
121.40.174.237 yx12345 [21/July/2015 13:25:45 +0000] chrome appid_5 "http://www.***.cn/sort/channel/2085.html"
那麼經過觀察分析這條記錄,咱們能夠從示例數據中獲得那些信息量,這裏我給你們總結到一張圖上了,以下圖所示:
在分析了日誌記錄的信息量,咱們接下來去看看是如何收集到這些數據的,整個收集數據的流程是怎麼樣的,下面我用一張圖來給你們,以下圖所示:
從圖中,咱們能夠看出,數據的產生的源頭是用戶,從圖的左邊開始看起,用戶經過本身手上的終端(有多是: PC機,手機,pad等設備去訪問公司的網站),而這裏訪問的記錄都會被實時的記錄到服務器,咱們在部署網站的的節點上添加 Flume的Agent代理,將這些實時記錄集中收集起來,而後咱們在Flume的Sink組件處添加輸送的目標地址,這裏咱們是要將這些 實時的記錄輸送到Kafka集羣的,因此在Sink組件處填寫指向Kafka集羣的信息,這樣收集的實時記錄就被存儲在Kafka的 Producer端,而後,這部分數據咱們就能夠在下一個階段,也就是消費階段去消費這些數據。
以上就是整個實時數據的採集過程,由用戶產生,Flume收集並傳輸,最後存放與Kafka集羣的Producer端等待被消費。
關於具體細節,這裏就不贅述了。《觀看地址》
該課時我給你們介紹數據消費環節,帶着你們從消費的角度去分析消費的數據源,讓你們掌握數據如何在Kafka中被消費。
其主要知識點包含如下內容,以下所示:
那麼,下面我先帶着你們去分析消費數據來源,關於消費數據來源的統計的KPI指標,以下圖所示:
從圖中,咱們能夠看出,由如下KPI指標:
以上即是我給你們分析消費數據的相關信息所設計的內容。
接下來,我帶着你們去看看本課時的另外一個比較重要的知識點,那就是關於數據源的消費流程。這裏,我用一張圖來給你們描述了整個消費過程,以下圖所示:
咱們先從圖的最左邊看起,這個是Kafka的集羣,在這個集羣中,存放着咱們即將要被消費的數據,這裏,咱們經過KafkaSpout 將Kafka和Storm聯繫起來,將Kafka集羣中要消費的數據,經過KafkaSpout輸送到Storm集羣,而後數據進入到Storm集羣后, 經過Storm的實時計算模型,按照業務指標作對應的計算,並將計算以後的結果持久化到DB庫當中去,這裏同時採用MySQL和Redis 來作持久化。
以上,即是我給你們描述的如何去消費Kafka集羣中數據的流程。《觀看地址》
該課時我給你們介紹設計一個項目的總體架構和流程開發,以及 KPI 的設計,讓你們可以經過本課時去掌握一個項目的設計流程。
其主要知識點包含如下內容,以下所示:
下面,我先給你們去分析本項目的詳細設計流程,這裏我繪製了一張圖來描述整個項目設計流程的相關信息,以下圖所示:
從圖的最左邊開始,依次是:
以上,即是我給你們介紹本項目的整個流程設計的相關內容。關於其餘的細節內容,這裏就很少贅述了。《觀看地址》
本課程咱們對項目進行了總體分析,並指導你們去分析 Kafka 的 Producer 模塊和 Consumer 模塊,以及幫助你們去設計項目的開發流程等知識,咱們應該掌握如下知識點,以下圖所示:
這就是本課程的主要內容,主要就對 Kafka 項目作前期準備,對後續學習 Kafka 項目實戰內容奠基良好的基礎。
若是本教程能幫助到您,但願您能點擊進去觀看一下,謝謝您的支持!
轉載請註明出處,謝謝合做!
本課程的視頻教程地址:《Kafka實戰項目之分析與設計》