第一部份:實時計算平臺介紹
介紹實時系統(tǒng)主要解決的業(yè)務(wù)問題和面臨的挑戰(zhàn);
簡要介紹實時平臺的主要組件和構(gòu)成,實時數(shù)據(jù)的收集通道和數(shù)據(jù)交互方式
實時數(shù)據(jù)核心組件Flume、Kafka的介紹,以及Storm在整個平臺中所處的位置;
分享部分典型互聯(lián)網(wǎng)公司實時平臺的架構(gòu),如大眾點評、美團、一號店等
第二部份:Storm基本概念和組件介紹
Storm的基本組件:Nimbus、Supervisor、Worker、 Executor和Task的基本介紹;
集群組成:通常一個線上集群的如何構(gòu)成;
Storm的可靠性:Storm如何保證可靠性以及數(shù)據(jù)的準(zhǔn)確性;
Storm的數(shù)據(jù)分組和其他特性介紹;
第三部份:Storm集群部署和配置
Storm的依賴組件介紹;
Storm的部署軟硬件環(huán)境要求;
部署ZooKeeper
部署Storm到各個機器節(jié)點
配置Storm相關(guān)參數(shù),以及核心參數(shù)介紹;
啟動Storm相關(guān)進程;
Storm的守護進程;
提交Topology的過程介紹。
第四部份:Storm基本應(yīng)用的開發(fā)
Storm的應(yīng)用開發(fā)和調(diào)試過程介紹,包括:
提交示例Topology到集群;
項目代碼本地開發(fā)環(huán)境配置和依賴;
代碼編譯和打包以及注意事項;
本地代碼調(diào)試過程;
線上Topology提交過程和問題分析。
第五部份:Storm Nimbus和Supervisor深入剖析
Nimbus功能介紹和啟動Nimbus服務(wù)過程分析;
Nimbus服務(wù)的執(zhí)行過程剖析;
分配Executor的算法;
調(diào)度器介紹;
默認調(diào)度器DefaultScheduler和均衡調(diào)度器EvenScheduler邏輯分析;
Supervisor數(shù)據(jù)結(jié)構(gòu)分析;
Supervisor的執(zhí)行過程詳解。
第六部份:Storm Worker、Executor和Task深入分析
Worker的數(shù)據(jù)結(jié)構(gòu)和架構(gòu);
Worker中的數(shù)據(jù)流分解;
創(chuàng)建Worker的過程;
Executor的創(chuàng)建過程;
創(chuàng)建Spout的Executor的過程和邏輯;
創(chuàng)建Bolt的Executor的過程和邏輯;
Task的創(chuàng)建過程;
Ack的原理介紹;
Acker Bolt的實現(xiàn)。
第七部份:Storm運維和監(jiān)控
主機信息監(jiān)控;
日志和監(jiān)控;
Storm UI和NimbusClient的使用;
Storm Metric的使用;
Storm ZooKeeper的目錄詳解和功能分析;
Storm Hook的使用。
第八部份:Storm的擴展和二次開發(fā)
Storm UI原生功能介紹和數(shù)據(jù)含義;
Storm UI新功能需求實現(xiàn);
Storm的Thrift接口介紹;
資源隔離方案簡介;
基于CGroup的資源隔離的實現(xiàn);
使用Docker運行Storm集群介紹。
第九部份:Storm的實際應(yīng)用案例分享
實時DAU計算實現(xiàn);
實時用戶畫像;
實時個性化推薦;
廣告投放的精準(zhǔn)化
第十部份:Storm使用經(jīng)驗和性能優(yōu)化
使用經(jīng)驗;
性能優(yōu)化建議;
自定義metric和性能數(shù)據(jù)收集
第十一部份:其他實時平臺介紹
JStorm介紹;
Spark Streaming介紹;
Heron介紹;
Flink介紹;
Storm和其他實時流處理框架的功能和性能對比 |