第1章 課程介紹
歡迎大家學習Go語言,本課程基於Go協程特性,實現企業級流量統計系統。關於Go語言,是一門朝氣蓬勃富有戰鬥力的語言,它近些年的發展勢頭完全不亞於2012年前後的PHP語言,越來越多的Go語言愛好者、工程師。協程是Go最吸引眼球的特性,它將帶你走進函數式編程的新世界。...
1-1 課程概覽
第2章 並行存取模型
並行存取模型對於科班出生的同學並不陌生,在近些年的進階語言中,大量應用線程的並發能力做高並發應用,本章節將從並行存取模型開始,帶你進入更輕量更高並發度的並發世界
2-1 並發編程啟蒙
2-2 並發編程--協程
2-3 Golang協程基本樣本
第3章 Go的協程
Go語言天生內建協程:協程即Goroutine,但只學習Goroutine可遠遠不足以滿足項目開發需要,本章介紹Go協程在做真實項目研發時所需要涉及的周邊函數能力。以Sample代碼為入手,讓Go語言零基礎的同學不掉隊。
3-1 Golang協程特性實踐
3-2 golang select多隊欄選取器
3-3 selete等待機制
第4章 樣本環境搭建
流量統計系統應用於成型互連網公司線上流量統計,本章節帶領大家搭建一套含有一萬多條資料的視頻網站,整站嵌入使用者資訊上報JS,即時上報使用者瀏覽情況,用於服務端統計分析。
4-1 快速構建一個樣本網站(上)
4-2 快速構建一個樣本網站(下)
4-3 上報使用者資訊資料到打點伺服器
4-4 Nginx打點伺服器的搭建與配置
第5章 Go批量組建記錄檔
本章節通過一步步編寫Go語言指令碼,帶大家實現一個可以自訂數量級的線上日誌產生工具,用於類比大量使用者訪問視頻網站所產生的打點請求,產生數萬行日誌,用於後續統計分析系統消費。
5-1 建立解析樣本(一)
5-2 建立解析樣本(二)
5-3 建立解析樣本(三)
第6章 統計系統架構構成
打點資料統計系統模組的骨架設計先行,將骨幹Goroutine、Channel聲明在先,一套清晰易懂的架構結構便於開發過程中專註於實現功能,在實際開發前就能摸清程式脈絡,少走許多彎路。
6-1 統計分析模組的架構實現(上)
6-2 統計分析模組的架構實現(下)
第7章 統計系統之日誌消費
逐行批量的消費線上打點日誌,實現四大Goroutine環節第一步,並且實現日誌順序進入帶解析通道。對於線上流量淩晨期間的冷時間段,進行一定邏輯的等待迴圈處理。
7-1 統計分析模組逐行消費日誌
第8章 統計系統之批量解析
建立一組用於批量解析日誌的Goroutine,是四大環節中並發度最高的環節,可以並行開展,相互之間不受牽制,分別扣取打點日誌中關鍵資訊,並構成自訂結構體,對上報資訊翻譯後放入待統計通道,給未來擴充能力提供了空間。...
8-1 統計分析模組日誌解析
第9章 統計系統之統計邏輯
最貼近業務需求的系統子模組,其中採用HyperLogLog能力實現UV天級去重,定義了用於儲存資料所需的結構體後,對過往資料進行架構封裝,投遞至待儲存通道,待儲存空間消費。
9-1 統計分析模組PVUV統計(上)
9-2 統計分析模組PVUV統計(下)
第10章 統計系統之儲存空間
無業務狀態的通用儲存Goroutine,將上遊派發來的儲存訴求逐個落實到儲存系統中,並能擴充資料查詢所需的時間維度資料,該環節對於儲存知識要求較高,需要在不同的儲存系統中選好最佳的抉擇。
10-1 資料存放區(上)
10-2 資料存放區(下)
第11章 資料視覺效果
對於已落實到儲存系統中的線上流量資料,本章節藉助專業級的Dashboard腳手架Ant Design Pro,呈現美觀的線上流量資料結果。徹底打通了使用者側系統的線上流量情況,將結果呈現在企業管理者、決策者的眼前。
11-1 基於Ant Design的資料視覺效果
第12章 企業級解決方案及課程總結
基於前面所涉及的內容,打通知識點,並且拆解企業級實現時,每個環節應當關注的點與系統方案的核心挑戰剖析,拋磚引玉為學員提供更大的想象空間與成長空間
12-1 企業級解決方案的關注點
12-2 課程知識點回顧
下載地址:百度網盤下載