大型電商分佈式系統實踐

 

 

 

課程目錄:
第一課
大型分佈式系統概述
集中式、垂直式、分佈式應用架構的變遷思路
SOA體系架構,服務化的演變
SOA的基礎--rpc遠程調用
--rpc與通信協議
--對象序列化方式的選擇
--異構系統還是同構系統
--遠程調用的實現方式,基於http協議的遠程調用,基於tcp協議的遠程調用

第二課
服務的路由和負載均衡
--爲什麼需要服務治理
--服務的負載均衡,複雜環境下負載均衡所面臨的問題(負載不均、多機房)
--負載均衡算法及其擴展
--如何動態配置路由規則
--服務上線下線的動態感知
--客戶端容災方案的實現
--如何使用zookeeper實現服務路由和負載均衡
SOA架構所面臨的問題

第三課
構建安全的分佈式網站
常見的web攻擊手段,xss、crsf、sql注入攻擊、DDos攻擊等等
面對攻擊,應該如何防禦,具體的防禦手段
如何架構安全的網站,保障通信的安全
常用的安全算法的使用場景<1>
--校驗數據是否被篡改,數字摘要
--加密傳輸內容,對稱加密算法
--校驗消息發送和接收方身份,非對稱加密算法

第四課
構建安全的分佈式網站
常用的安全算法的使用場景
<2>
數字簽名及其使用場景
數字證書及其使用場景
爲什麼需要認證
--簽名認證的原理和實現
--摘要認證的原理和實現
爲什麼需要https協議,https協議能夠帶來什麼
--https協議的原理解析
--使用tomcat部署https web
平臺廠商所面臨的問題及開放平臺的出現
oauth協議解決了什麼問題及oauth協議的適用場景

第五課
分佈式系統基礎設施之緩存
--緩存的使用場景
--數據一致性的保障
--緩存的負載均衡問題,雪崩效應的產生
--如何解決緩存的負載均衡問題
--緩存的強依賴及可靠性的解決
--memcache的介紹及使用
分佈式系統基礎設施之持久化存儲
--IOE太貴,無法擴展,mysql+pc server節約成本
--pc server的承載有限,業務拆分的實施,mysql複製策略
--讀的壓力過大,讀寫分離
--單表數據量太大,則分表
--寫入壓力太大,則分庫

第六課
分佈式系統基礎設施之持久化存儲
--爲提升性能,mysql的取捨
--海量數據,高併發寫入,該hbase上場了
--hbase的api,row key的設計
--什麼場景不適合使用hbase
--小而美的redis,多種數據類型,快速存取
--redis數據類型的介紹,使用案例
分佈式系統基礎設施之消息系統
--消息系統的使用場景,爲什麼要使用消息系統
--消息發送的兩種模式,p2p和訂閱
--消息發送的一致性和可靠性,最終一致性解決方案
--消息投遞的順序問題的產生及消息內容的去重

第七課
分佈式系統基礎設施之垂直化搜索引擎
垂直化搜索的使用場景
基於lucene的搜索引擎的基本原理
--構建索引
--索引更新與查詢
--結果排序
--高亮
--中文分詞
--索引優化
搜索引擎的擴展性
使用搜索引擎所面臨的問題

第八課
保障分佈式系統的穩定性
在線日誌分析及常用命令
在線日誌分析的技巧,sed、awk、shell的及使用
如何查看服務器當前的狀態,服務器的監控指標解析
--load、cup利用率
--磁盤剩餘空間
--網絡traffic
--磁盤IO
--內存使用
--qps、rt
jvm gc對穩定性和性能的影響
如何分析jvm產生的gc日誌

第九課
保障分佈式系統的穩定性
集羣監控及流量控制
--服務器的心跳檢測實現方法
--大流量到來前,服務器的容量評估及應用水位的檢測
--如何對流量進行控制
--服務穩定性的實現方案: 依賴管理&服務分級&優雅降級&開關&應急預案
高併發系統與普通系統的區別
--原子操作解決了什麼問題
--jvm原子操作實現的原理(包含jvm源代碼解析)

第十課
保障分佈式系統的穩定性
如何設計高併發系統
--java的多線程同步及鎖的機制
--分佈式條件下數據一致性及系統可擴展性的保障
--高併發條件下減庫存的案例
性能優化--找出系統的性能瓶頸
--找出前端的性能問題
--監測網頁的響應時間
--監測java方法的響應時間

第十一課
性能優化--找出系統的性能瓶頸
--java應用程序gc日誌的分析
--影響mysql數據庫性能的因素
爲什麼要進行性能測試
性能測試的方法和工具
--apache ab
--apache jmeter
--load runner
性能環境和真實環境的差異
如何進行性能優化
--前端性能優化的實施
--java程序性能優化的實施

第十二課
如何進行性能優化
--數據壓縮帶來性能的提升,不同算法效率的比較
--使用緩存提升性能
--mysql數據庫查詢優化
--java應用程序gc優化
--使用新硬件提升性能
java應用常用的故障排查工具
--jps&jmap&jinfo&jstack
--mat
--VisualVM
--java應用典型問題

第十三課
數據分析對於大型分佈式網站的意義
分佈式文件系統
離線數據分析,mapreduce、hive
實時數據分析,storm
離線數據同步,Apache sqoop
實時數據同步,mysql的實現方案
數據報表能提供什麼,報表系統的實現思路

 

百度雲下載地址:
鏈接: https://pan.baidu.com/s/1bZ0h0U 密碼: 1rqd
解壓密碼:www.mukedaba.com_F8a5AC_d!ssj&86D92C

如果資源對你有幫助,可以微信掃碼下方二維碼,打賞博主哦!

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章