課程簡介
本課程共分為3個階段,打造落地的微服務(wù)實踐
階段1:微服務(wù)初識&最簡模式微服務(wù)快速落地( 2天)
階段2:微服務(wù)架構(gòu)基礎(chǔ)設(shè)施進階,夯實架構(gòu)基礎(chǔ)保障穩(wěn)定運行( 2天)
階段3:聚焦業(yè)務(wù)進化&微服務(wù)架構(gòu)管理自動化( 2天)
目標收益
重點解決服務(wù)化難點:服務(wù)抽象/設(shè)計過程,設(shè)計難點。
培訓(xùn)對象
課程準備:需要客戶準備一個現(xiàn)有模塊用于進行服務(wù)化建設(shè)的case分析。
課程大綱
階段1:主題:微服務(wù)初識&最簡模式微服務(wù)快速落地( 2天) 1微服務(wù)架構(gòu)原理與總體架構(gòu) |
1.1系統(tǒng)架構(gòu)演進之路 1.2微服務(wù)總體介紹 1.3微服務(wù)架構(gòu)優(yōu)勢 1.4微服務(wù)最小架構(gòu)技術(shù)棧及原理 |
2微服務(wù)技術(shù)棧與實踐 |
2.1技術(shù)棧推薦 2.2技術(shù)棧講解 2.3實踐最小微服務(wù)(需現(xiàn)場編碼demo 1h) 2.4實踐改造現(xiàn)有系統(tǒng)完成2個模塊服務(wù)化目標【需提前準備好項目與模塊】(需現(xiàn)場編碼1h) |
3微服務(wù)設(shè)計 |
3.1微服務(wù)架構(gòu)落地 3.1.1微服務(wù)設(shè)計思想 3.1.2微服務(wù)設(shè)計原則 3.1.3微服務(wù)服務(wù)層如何平滑切換 3.1.4架構(gòu)設(shè)計模式 3.1.5服務(wù)粒度設(shè)計 3.1.6服務(wù)開發(fā)技術(shù)選型 3.1.7服務(wù)如何分層 3.1.8先進行服務(wù)改進 3.2微服務(wù)存儲層設(shè)計 3.2.1關(guān)系數(shù)據(jù)庫 3.2.1.1百億數(shù)據(jù)百億訪問量的服務(wù)設(shè)計實踐 3.2.1.1.1數(shù)據(jù)層設(shè)計 3.2.1.1.2緩存層設(shè)計 3.2.1.1.3服務(wù)平滑切換過程 3.2.1.1.4回滾方案保證 3.2.2id生成服務(wù)設(shè)計 3.2.3Memcache&redis 3.2.3.1互聯(lián)網(wǎng)使用緩存類型有哪些 3.2.3.2分布式緩存冗余如何設(shè)計? 3.2.3.3高可用架構(gòu)緩存一致性如何保證? 3.2.3.4靜態(tài)一致性Hash、動態(tài)一致性Hash等 3.2.3.5高可用架構(gòu)緩存高性能如何保證? 3.2.4大容量存儲 3.2.4.1hbase 3.2.4.2圖片存儲 |
4微服務(wù)設(shè)計與實踐 |
4.1互聯(lián)網(wǎng)大型網(wǎng)站微服務(wù)介紹 4.1.1分類信息網(wǎng)站架構(gòu)介紹 4.1.2電商類網(wǎng)站架構(gòu)介紹 4.1.3實踐:我們的架構(gòu)設(shè)計【分組討論畫出我們的微服務(wù)架構(gòu)1h】 4.1.3.1服務(wù)分層 4.1.3.2核心服務(wù) 4.1.3.3數(shù)據(jù)服務(wù) 4.1.3.4更多服務(wù) |
階段2:主題:微服務(wù)架構(gòu)基礎(chǔ)設(shè)施進階,夯實架構(gòu)基礎(chǔ)保障穩(wěn)定運行( 2天) 1微服務(wù)架構(gòu)穩(wěn)定性保障 |
1.1全站高可用性設(shè)計 1.1.1入口層高可用設(shè)計 1.1.2web層高可用設(shè)計 1.1.3服務(wù)層高可用設(shè)計 1.1.4存儲層高可用設(shè)計 1.2監(jiān)控平臺 1.1.1接口監(jiān)控 1.1.2關(guān)鍵字監(jiān)控 1.1.3數(shù)據(jù)監(jiān)控 1.1.4業(yè)務(wù)監(jiān)控 1.2柔性可用設(shè)計 1.2.1服務(wù)層柔性可用 1.2.2緩存層柔性可用 1.2.3存儲層柔性可用 1.3服務(wù)容量規(guī)劃&設(shè)計 1.3.1消息隊列 1.3.2容量提升方案 |
2服務(wù)注冊&發(fā)現(xiàn) |
2.1服務(wù)注冊發(fā)現(xiàn)理論 2.2服務(wù)注冊發(fā)現(xiàn)案例 2.3服務(wù)注冊發(fā)現(xiàn)實踐【編碼實踐1h】 2.3.1基于zookeeper的實踐 2.3.2基于開源產(chǎn)品的搭建 |
3微服務(wù)系統(tǒng)定位分析工具 |
3.1通用問題分析定位 3.2分布式請求鏈跟蹤系統(tǒng); 3.2.1調(diào)用鏈原理論文 3.2.2調(diào)用鏈實踐 3.2.3通用日志組件 3.2.4整體架構(gòu) 3.2.5應(yīng)用場景與效果 3.3微服務(wù)常見問題分析 3.3.1序列化異常 3.3.2網(wǎng)絡(luò)不可用異常 3.3.3服務(wù)發(fā)現(xiàn)異常 |
4服務(wù)安全建設(shè) |
4.1通用安全策略 4.2API安全建設(shè) 4.3數(shù)據(jù)安全建設(shè) 4.4服務(wù)網(wǎng)關(guān)建設(shè) 4.5實踐:快速搭建服務(wù)網(wǎng)關(guān)層【需編碼實踐1小時】 |
階段3:主題:聚焦業(yè)務(wù)進化&微服務(wù)架構(gòu)管理自動化( 2天) 業(yè)務(wù)/組織/系統(tǒng)結(jié)構(gòu)進化 |
1.1起步階段(效率) 1.1.1敏捷開發(fā) 1.1.2開發(fā)運維,缺陷容忍 1.2快速發(fā)展階段(規(guī)模) 1.2.1垂直架構(gòu) 1.2.2統(tǒng)一基礎(chǔ)服務(wù)架構(gòu) 1.2.3動態(tài)分配資源 1.2.4PM細分,大PM/細PM 1.2.5架構(gòu)師細分,形成獨立的團隊 1.2.6關(guān)鍵分離,自動編譯,持續(xù)集成 1.3穩(wěn)定階段 1.3.1中臺架構(gòu) 1.3.2業(yè)務(wù)線架構(gòu) 1.3.3平臺化,組件化,平臺定期重構(gòu) 1.3.4統(tǒng)一變化入口,流程化 1.3.5研發(fā)模式差異化 1.3.6職能部門工具打通,進一步自動化,解放生產(chǎn) |
2生產(chǎn)過程自動化(Devops工具平臺) |
2.1持續(xù)發(fā)布平臺 2.2配置&版本管理工具 2.3自動化測試平臺 2.4持續(xù)集成平臺 2.5自動化部署平臺 2.6Docker容器 |
3線上問題發(fā)現(xiàn)管理自動化(服務(wù)可管理) |
3.1服務(wù)管理流程 3.2服務(wù)數(shù)據(jù)治理 3.3服務(wù)狀態(tài)治理 3.4統(tǒng)一日志平臺 3.5問題分析全量工具化 |
4通用難點問題解決方案 |
4.1分布式事務(wù) 4.2配置發(fā)布自動化 4.3消息隊列 4.4難點問題溝通解答 |
階段1:主題:微服務(wù)初識&最簡模式微服務(wù)快速落地( 2天) 1微服務(wù)架構(gòu)原理與總體架構(gòu) 1.1系統(tǒng)架構(gòu)演進之路 1.2微服務(wù)總體介紹 1.3微服務(wù)架構(gòu)優(yōu)勢 1.4微服務(wù)最小架構(gòu)技術(shù)棧及原理 |
2微服務(wù)技術(shù)棧與實踐 2.1技術(shù)棧推薦 2.2技術(shù)棧講解 2.3實踐最小微服務(wù)(需現(xiàn)場編碼demo 1h) 2.4實踐改造現(xiàn)有系統(tǒng)完成2個模塊服務(wù)化目標【需提前準備好項目與模塊】(需現(xiàn)場編碼1h) |
3微服務(wù)設(shè)計 3.1微服務(wù)架構(gòu)落地 3.1.1微服務(wù)設(shè)計思想 3.1.2微服務(wù)設(shè)計原則 3.1.3微服務(wù)服務(wù)層如何平滑切換 3.1.4架構(gòu)設(shè)計模式 3.1.5服務(wù)粒度設(shè)計 3.1.6服務(wù)開發(fā)技術(shù)選型 3.1.7服務(wù)如何分層 3.1.8先進行服務(wù)改進 3.2微服務(wù)存儲層設(shè)計 3.2.1關(guān)系數(shù)據(jù)庫 3.2.1.1百億數(shù)據(jù)百億訪問量的服務(wù)設(shè)計實踐 3.2.1.1.1數(shù)據(jù)層設(shè)計 3.2.1.1.2緩存層設(shè)計 3.2.1.1.3服務(wù)平滑切換過程 3.2.1.1.4回滾方案保證 3.2.2id生成服務(wù)設(shè)計 3.2.3Memcache&redis 3.2.3.1互聯(lián)網(wǎng)使用緩存類型有哪些 3.2.3.2分布式緩存冗余如何設(shè)計? 3.2.3.3高可用架構(gòu)緩存一致性如何保證? 3.2.3.4靜態(tài)一致性Hash、動態(tài)一致性Hash等 3.2.3.5高可用架構(gòu)緩存高性能如何保證? 3.2.4大容量存儲 3.2.4.1hbase 3.2.4.2圖片存儲 |
4微服務(wù)設(shè)計與實踐 4.1互聯(lián)網(wǎng)大型網(wǎng)站微服務(wù)介紹 4.1.1分類信息網(wǎng)站架構(gòu)介紹 4.1.2電商類網(wǎng)站架構(gòu)介紹 4.1.3實踐:我們的架構(gòu)設(shè)計【分組討論畫出我們的微服務(wù)架構(gòu)1h】 4.1.3.1服務(wù)分層 4.1.3.2核心服務(wù) 4.1.3.3數(shù)據(jù)服務(wù) 4.1.3.4更多服務(wù) |
階段2:主題:微服務(wù)架構(gòu)基礎(chǔ)設(shè)施進階,夯實架構(gòu)基礎(chǔ)保障穩(wěn)定運行( 2天) 1微服務(wù)架構(gòu)穩(wěn)定性保障 1.1全站高可用性設(shè)計 1.1.1入口層高可用設(shè)計 1.1.2web層高可用設(shè)計 1.1.3服務(wù)層高可用設(shè)計 1.1.4存儲層高可用設(shè)計 1.2監(jiān)控平臺 1.1.1接口監(jiān)控 1.1.2關(guān)鍵字監(jiān)控 1.1.3數(shù)據(jù)監(jiān)控 1.1.4業(yè)務(wù)監(jiān)控 1.2柔性可用設(shè)計 1.2.1服務(wù)層柔性可用 1.2.2緩存層柔性可用 1.2.3存儲層柔性可用 1.3服務(wù)容量規(guī)劃&設(shè)計 1.3.1消息隊列 1.3.2容量提升方案 |
2服務(wù)注冊&發(fā)現(xiàn) 2.1服務(wù)注冊發(fā)現(xiàn)理論 2.2服務(wù)注冊發(fā)現(xiàn)案例 2.3服務(wù)注冊發(fā)現(xiàn)實踐【編碼實踐1h】 2.3.1基于zookeeper的實踐 2.3.2基于開源產(chǎn)品的搭建 |
3微服務(wù)系統(tǒng)定位分析工具 3.1通用問題分析定位 3.2分布式請求鏈跟蹤系統(tǒng); 3.2.1調(diào)用鏈原理論文 3.2.2調(diào)用鏈實踐 3.2.3通用日志組件 3.2.4整體架構(gòu) 3.2.5應(yīng)用場景與效果 3.3微服務(wù)常見問題分析 3.3.1序列化異常 3.3.2網(wǎng)絡(luò)不可用異常 3.3.3服務(wù)發(fā)現(xiàn)異常 |
4服務(wù)安全建設(shè) 4.1通用安全策略 4.2API安全建設(shè) 4.3數(shù)據(jù)安全建設(shè) 4.4服務(wù)網(wǎng)關(guān)建設(shè) 4.5實踐:快速搭建服務(wù)網(wǎng)關(guān)層【需編碼實踐1小時】 |
階段3:主題:聚焦業(yè)務(wù)進化&微服務(wù)架構(gòu)管理自動化( 2天) 業(yè)務(wù)/組織/系統(tǒng)結(jié)構(gòu)進化 1.1起步階段(效率) 1.1.1敏捷開發(fā) 1.1.2開發(fā)運維,缺陷容忍 1.2快速發(fā)展階段(規(guī)模) 1.2.1垂直架構(gòu) 1.2.2統(tǒng)一基礎(chǔ)服務(wù)架構(gòu) 1.2.3動態(tài)分配資源 1.2.4PM細分,大PM/細PM 1.2.5架構(gòu)師細分,形成獨立的團隊 1.2.6關(guān)鍵分離,自動編譯,持續(xù)集成 1.3穩(wěn)定階段 1.3.1中臺架構(gòu) 1.3.2業(yè)務(wù)線架構(gòu) 1.3.3平臺化,組件化,平臺定期重構(gòu) 1.3.4統(tǒng)一變化入口,流程化 1.3.5研發(fā)模式差異化 1.3.6職能部門工具打通,進一步自動化,解放生產(chǎn) |
2生產(chǎn)過程自動化(Devops工具平臺) 2.1持續(xù)發(fā)布平臺 2.2配置&版本管理工具 2.3自動化測試平臺 2.4持續(xù)集成平臺 2.5自動化部署平臺 2.6Docker容器 |
3線上問題發(fā)現(xiàn)管理自動化(服務(wù)可管理) 3.1服務(wù)管理流程 3.2服務(wù)數(shù)據(jù)治理 3.3服務(wù)狀態(tài)治理 3.4統(tǒng)一日志平臺 3.5問題分析全量工具化 |
4通用難點問題解決方案 4.1分布式事務(wù) 4.2配置發(fā)布自動化 4.3消息隊列 4.4難點問題溝通解答 |