Kafka項目實戰-用戶日誌上報實時統計之編碼實踐

1.概述

  本課程的視頻教程地址:《Kafka實戰項目之編碼實踐html

   該課程我以用戶實時上報日誌案例爲基礎,帶着你們去完成各個KPI的編碼工做,實現生產模塊、消費模塊,數據持久化,以及應用調度等工做, 經過對這一系列流程的演示,讓你們可以去掌握Kafka項目的相關編碼以及調度流程。下面,咱們首先來預覽本課程所包含的課時,他們分別有:服務器

  接下來,咱們開始第一課時的學習:《數據生產實現分佈式

2.內容

2.1 數據生產實現

  本課時主要給你們演示Kafka數據生產的代碼實現,在前面搭建好的集羣環境下,完成Kafka的數據生產功能,以及一些注意事項,爲咱們編寫
消費代碼作好準備,讓你們掌握Kafka的數據生產的代碼實現。學習

  實踐本課時的內容,咱們須要設計到兩個知識點,他們分別是:編碼

  接着,咱們先從一個知識點來開始實踐,實踐數據生產模塊所包含的內容,有如下幾點:spa

  首先第一點是:對項目工程的文件進行配置(pom) 而後是對集羣的連接信息進行配置(這裏爲何要將這些連接信息配置在配置文件當中,緣由是,這些連接信息單獨剝離到一個配置文件,便於咱們後期維護, 好比:後期添加新的節點信息,或是移除一個已損壞的節點信息,咱們能夠輕鬆,快速的在配置文件中修改節點信息便可,無需在去操做咱們的業務代碼。)具體演示細節請你們參考視頻操做。設計

  在演示完數據生成模塊相關內容後,下面,我帶着你們去實踐Flume到Kafka模塊的相關內容,以下所示:調試

  以上就是本課時的相關內容演示,其中包含了相關信息的配置,數據的收集過程演示等。日誌

2.2 數據消費實現

  本課時給你們演示 Kafka 數據消費的代碼實現,在前面咱們建立的 Kafka 的項目工程的基礎上,完成消費代碼的編寫, 以及編寫 Storm 代碼消費 Kafka 數據的須要注意的細節,經過本課時讓你們可以掌握數據消費的代碼實現。orm

  那麼,接下來我給你們列出本課時所涉及的核心知識點,以下所示:

  下面,咱們開始第一個核心知識點的實踐,實踐的所包含的內容以下所示:

  1. Storm集羣的信息配置:這部份內容包含集羣的依賴連接信息。
  2. 依賴文件的選取:這裏咱們這編寫Java代碼實現相關功能時,須要選取依賴的JAR包來輔助咱們完成編碼工做。

  接下來我帶這你們看看,如何編碼實現這一部份內容,即:實現Kafka到Storm模塊的 內容實現,該部分涉及的內容以下所示:

  具體的演示細節,你們能夠參考視頻操做,觀看地址:《數據消費實現

2.3 數據持久化

  內容涉及給你們,介紹如何將消費後的數據(即咱們統計的kpi結果)持久化,在前面數據消費實現的基礎上,經過流式計算將統計的結果持久化到 Redis 集羣或是 DB 中,讓你們掌握數據持久化的代碼實現。

  那麼,接下來,咱們去看看本課時所涉及的核心知識點,以下所示:

  下面,咱們開始第一個知識點的實踐,實現基礎層代碼模塊所包含的內容,以下所示:

  1. 實現思路:先實現這部分功能以前,咱們要清楚它的一個實現思路,如右圖所示: 這裏,咱們在Storm的計算模塊中,將相應的KPI統計以後,作對應的持久化,這裏咱們能夠選擇 持久化到咱們所選擇的DB庫當中,圖中咱們持久化到Redis和MySQL當中,那麼接下來,咱們按照這個思路 去實現。
  2. 在實現以前,首先咱們須要準備好DAO層的代碼,這層代碼的做用是與DB交互。
  3. 接下來,我去給你們演示這一部份內容。

  下面,咱們去實現Storm統計結果存儲到DB的相關內容,還模塊包含以下所示的內容:

 

  1. 實現思路:一樣,在實現這一部分功能時,咱們也要清楚,在什麼地方去持久化咱們統計的結果。如右圖所示: 咱們在Bolt當中,當咱們的KPI指標統計完成後,就能夠調用相應的存儲代碼去持久化這部分統計結果。
  2. 在清楚了思路以後,咱們去實現這一部分的入庫流程。
  3. 下面我去給你們演示這一部份內容。

  具體演示細節,你們能夠參考視頻操做,觀看地址:《數據持久化

2.4 應用調度

  該部份內容將給你們介紹將開發好的應用打包部署到服務器,經過提交 Topology 到 Storm 集羣, 完成 Storm 消費的程序的部署,讓你們掌握項目的打包部署以及調度流程。下面,咱們去看看實踐本課時的內容,所涉及那些核心知識點,以下所示:

  接下來,咱們開始對第一個知識點的實踐。關於打包所包含的內容,以下所示:

  1. 首先是打包的方式流程,以下圖所示:
  2. 使用Maven打包,本項目工程所採起的是Maven結構,這裏咱們使用Maven命令打包對應的工程。
  3. 下面,我去給你們演示這一部份內容

  下面咱們去實踐如何將咱們打包好的應用部署到Storm集羣,去跑相應的任務。 實現該模塊所包含的內容,以下所示:

  1. 實現思路。以下圖所示:這裏咱們要清楚它的各個階段的職責,咱們在開發階段,爲了開發的便利以及調試的方便, 咱們可使用本地提交,就像前面,咱們給你們演示的,直接在IDE當中,提交相應的Topology便可。而早生產環境下, 咱們須要依賴集羣,利用分佈式的思想去跑咱們的任務,因此,咱們須要使用集羣提交,這裏在提交任務時,確保Storm 集羣是運行正常的。
  2. 那麼接着的內容就是去實現相應的提交流程。
  3. 下面,我去給你們演示這一部份內容。

  具體演示細節,你們能夠參考視頻操做,觀看地址:《應用調度

3.總結

  本課程咱們對項目的指標進行了編碼實踐,並指導你們去編碼實現了相應的模塊功能,以及幫助你們去提交咱們開發的應用等知識,應該掌握一下知識:

4.結束語

  咱們在有了這些知識做爲基礎會使得咱們在從此的工做當中,開發相似實時統計項目變得遊刃有餘,更加的駕輕就熟。

  若是本教程能幫助到您,但願您能點擊進去觀看一下,謝謝您的支持!

  轉載請註明出處,謝謝合做!

  本課程的視頻教程地址:《Kafka實戰項目之編碼實踐

相關文章
相關標籤/搜索