1.概述
本課程的視頻教程地址:《Kafka實戰項目之編碼實踐》
該課程我以用戶實時上報日志案例為基礎,帶着大家去完成各個KPI的編碼工作,實現生產模塊、消費模塊,數據持久化,以及應用調度等工作, 通過對這一系列流程的演示,讓大家能夠去掌握Kafka項目的相關編碼以及調度流程。下面,我們首先來預覽本課程所包含的課時,他們分別有:
接下來,我們開始第一課時的學習:《數據生產實現》
2.內容
2.1 數據生產實現
本課時主要給大家演示Kafka數據生產的代碼實現,在前面搭建好的集群環境下,完成Kafka的數據生產功能,以及一些注意事項,為我們編寫
消費代碼做好准備,讓大家掌握Kafka的數據生產的代碼實現。
實踐本課時的內容,我們需要設計到兩個知識點,他們分別是:
接着,我們先從一個知識點來開始實踐,實踐數據生產模塊所包含的內容,有以下幾點:
首先第一點是:對項目工程的文件進行配置(pom) 然后是對集群的鏈接信息進行配置(這里為什么要將這些鏈接信息配置在配置文件當中,原因是,這些鏈接信息單獨剝離到一個配置文件,便於我們后期維護, 比如:后期添加新的節點信息,或是移除一個已損壞的節點信息,我們可以輕松,快速的在配置文件中修改節點信息即可,無需在去操作我們的業務代碼。)具體演示細節請大家參考視頻操作。
在演示完數據生成模塊相關內容后,下面,我帶着大家去實踐Flume到Kafka模塊的相關內容,如下所示:
以上就是本課時的相關內容演示,其中包含了相關信息的配置,數據的收集過程演示等。
2.2 數據消費實現
本課時給大家演示 Kafka 數據消費的代碼實現,在前面我們創建的 Kafka 的項目工程的基礎上,完成消費代碼的編寫, 以及編寫 Storm 代碼消費 Kafka 數據的需要注意的細節,通過本課時讓大家能夠掌握數據消費的代碼實現。
那么,接下來我給大家列出本課時所涉及的核心知識點,如下所示:
下面,我們開始第一個核心知識點的實踐,實踐的所包含的內容如下所示:
- Storm集群的信息配置:這部分內容包含集群的依賴鏈接信息。
- 依賴文件的選取:這里我們這編寫Java代碼實現相關功能時,需要選取依賴的JAR包來輔助我們完成編碼工作。
接下來我帶這大家看看,如何編碼實現這一部分內容,即:實現Kafka到Storm模塊的 內容實現,該部分涉及的內容如下所示:
具體的演示細節,大家可以參考視頻操作,觀看地址:《數據消費實現》
2.3 數據持久化
內容涉及給大家,介紹如何將消費后的數據(即我們統計的kpi結果)持久化,在前面數據消費實現的基礎上,通過流式計算將統計的結果持久化到 Redis 集群或是 DB 中,讓大家掌握數據持久化的代碼實現。
那么,接下來,我們去看看本課時所涉及的核心知識點,如下所示:
下面,我們開始第一個知識點的實踐,實現基礎層代碼模塊所包含的內容,如下所示:
- 實現思路:先實現這部分功能之前,我們要清楚它的一個實現思路,如右圖所示: 這里,我們在Storm的計算模塊中,將相應的KPI統計之后,做對應的持久化,這里我們可以選擇 持久化到我們所選擇的DB庫當中,圖中我們持久化到Redis和MySQL當中,那么接下來,我們按照這個思路 去實現。
- 在實現之前,首先我們需要准備好DAO層的代碼,這層代碼的作用是與DB交互。
- 接下來,我去給大家演示這一部分內容。
下面,我們去實現Storm統計結果存儲到DB的相關內容,還模塊包含如下所示的內容:
- 實現思路:同樣,在實現這一部分功能時,我們也要清楚,在什么地方去持久化我們統計的結果。如右圖所示: 我們在Bolt當中,當我們的KPI指標統計完成后,就可以調用相應的存儲代碼去持久化這部分統計結果。
- 在清楚了思路之后,我們去實現這一部分的入庫流程。
- 下面我去給大家演示這一部分內容。
具體演示細節,大家可以參考視頻操作,觀看地址:《數據持久化》
2.4 應用調度
該部分內容將給大家介紹將開發好的應用打包部署到服務器,通過提交 Topology 到 Storm 集群, 完成 Storm 消費的程序的部署,讓大家掌握項目的打包部署以及調度流程。下面,我們去看看實踐本課時的內容,所涉及那些核心知識點,如下所示:
接下來,我們開始對第一個知識點的實踐。關於打包所包含的內容,如下所示:
- 首先是打包的方式流程,如下圖所示:
- 使用Maven打包,本項目工程所采取的是Maven結構,這里我們使用Maven命令打包對應的工程。
- 下面,我去給大家演示這一部分內容
下面我們去實踐如何將我們打包好的應用部署到Storm集群,去跑相應的任務。 實現該模塊所包含的內容,如下所示:
- 實現思路。如下圖所示:這里我們要清楚它的各個階段的職責,我們在開發階段,為了開發的便利以及調試的方便, 我們可以使用本地提交,就像前面,我們給大家演示的,直接在IDE當中,提交相應的Topology即可。而早生產環境下, 我們需要依賴集群,利用分布式的思想去跑我們的任務,所以,我們需要使用集群提交,這里在提交任務時,確保Storm 集群是運行正常的。
- 那么接着的內容就是去實現相應的提交流程。
- 下面,我去給大家演示這一部分內容。
具體演示細節,大家可以參考視頻操作,觀看地址:《應用調度》
3.總結
本課程我們對項目的指標進行了編碼實踐,並指導大家去編碼實現了相應的模塊功能,以及幫助大家去提交我們開發的應用等知識,應該掌握一下知識:
4.結束語
我們在有了這些知識作為基礎會使得我們在今后的工作當中,開發類似實時統計項目變得游刃有余,更加的得心應手。
如果本教程能幫助到您,希望您能點擊進去觀看一下,謝謝您的支持!
轉載請注明出處,謝謝合作!
本課程的視頻教程地址:《Kafka實戰項目之編碼實踐》