課程簡介
微服務是目前最新的程序開發(fā)架構,本課程通過一個網站的例子介紹如何進行微服務架構設計,以及微服務架構中常用的構架工具和管理工具
目標收益
微服務介紹
如何建模微服務
微服務集成
分解單塊系統
如何部署微服務
如何測試微服務
如何監(jiān)控微服務
如何規(guī)?;⒎?br />
微服務總結
培訓對象
基本開發(fā)架構常識
課程大綱
微服務介紹 |
? 什么是微服務 ? 微服務的主要好處 ? 如何設計面向服務的架構 |
如何建模微服務 |
? 什么樣的服務是好服務 ? 微服務業(yè)務功能 |
微服務集成 |
? 尋找理想的集成技術 ? 如何為用戶創(chuàng)建接口 ? 如何共享數據庫 ? 如何同步與異步 ? 如何編排與協同 ? 如何遠程過程調用 ? 如何進行技術的耦合 ? 與 REST 服務的整合問題 ? 如何實現基于事件的異步協作方式 ? 如何進行服務即狀態(tài)機設計 ? 如何響應式擴展 ? 如何進行版本管理 ? 如何設計用戶界面 ? 如何與第三方軟件集成 |
分解單塊系統 |
? 如何設計關鍵接縫 ? 分解單塊系統的原因 ? 如何解決雜亂的依賴 ? 如何進行與數據庫 ? 如何重構數據庫 ? 如何處理事務邊界 |
如何部署微服務 |
? 持續(xù)集成簡介 ? 把持續(xù)集成映射到微服務 ? 構建流水線和持續(xù)交付 ? 平臺特定的構建物 ? 操作系統構建物 ? 定制化鏡像 ? 環(huán)境的安裝與調試 ? 如何進行服務配置 ? 服務與主機之間的映射 ? 如何進行自動化部署 ? 如何從物理機到虛擬機 |
微服務測試 |
? 測試類型 ? 測試范圍 ? 實現服務測試 ? 誰來寫這些測試 |
使用 Pact 進行測試 |
? 消費者測試介紹 ? 如何使用 Pact 進行消費者測試 ? 配置環(huán)境(基于.NET 的 PactNET) ? 編寫契約 ? 設置 pact 服務 ? 掛載請求 API ? 通過 Pact 方法調用客戶端 ? 使用 Pact 掛載 JSON ? 比對 JSON 結果是否正確 ? 運行成功測試與失敗測試 |
如何監(jiān)控 |
? 如何監(jiān)控單一服務,單一服務器 ? 如何監(jiān)控單一服務,多個服務器 ? 如何監(jiān)控多個服務,多個服務器 ? 如何使用日志 ? 多個服務的指標跟蹤 ? 服務指標 ? 綜合監(jiān)控 ? 關聯標識 ? 級聯 ? 微服務的安全 ? 身份驗證和授權 ? 常見的單點登錄實現 ? 單點登錄網關 ? 細粒度的授權 ? 服務間的身份驗證和授權 ? 靜態(tài)數據的安全 ? 使用微服務的實例 ? 松耦合組織和緊耦合組織 ? Windows Vista ? Netflix 和 Amazon |
如何規(guī)模化微服務 |
? 功能降級 ? 架構性安全措施 ? 反脆弱的組織 ? 微服務設計擴展 ? 微服務擴展數據庫 ? 微服務緩存 ? 微服務中 CAP 定理的平衡 ? 自描述系統 |
微服務總結 |
? 微服務的原則 ? 圍繞業(yè)務概念建模 ? 接受自動化文化 ? 隱藏內部實現細節(jié) ? 讓一切都去中心化 ? 可獨立部署 ? 隔離失敗 ? 高度可觀察 ? 什么時候你不應該使用微服務 |
微服務介紹 ? 什么是微服務 ? 微服務的主要好處 ? 如何設計面向服務的架構 |
如何建模微服務 ? 什么樣的服務是好服務 ? 微服務業(yè)務功能 |
微服務集成 ? 尋找理想的集成技術 ? 如何為用戶創(chuàng)建接口 ? 如何共享數據庫 ? 如何同步與異步 ? 如何編排與協同 ? 如何遠程過程調用 ? 如何進行技術的耦合 ? 與 REST 服務的整合問題 ? 如何實現基于事件的異步協作方式 ? 如何進行服務即狀態(tài)機設計 ? 如何響應式擴展 ? 如何進行版本管理 ? 如何設計用戶界面 ? 如何與第三方軟件集成 |
分解單塊系統 ? 如何設計關鍵接縫 ? 分解單塊系統的原因 ? 如何解決雜亂的依賴 ? 如何進行與數據庫 ? 如何重構數據庫 ? 如何處理事務邊界 |
如何部署微服務 ? 持續(xù)集成簡介 ? 把持續(xù)集成映射到微服務 ? 構建流水線和持續(xù)交付 ? 平臺特定的構建物 ? 操作系統構建物 ? 定制化鏡像 ? 環(huán)境的安裝與調試 ? 如何進行服務配置 ? 服務與主機之間的映射 ? 如何進行自動化部署 ? 如何從物理機到虛擬機 |
微服務測試 ? 測試類型 ? 測試范圍 ? 實現服務測試 ? 誰來寫這些測試 |
使用 Pact 進行測試 ? 消費者測試介紹 ? 如何使用 Pact 進行消費者測試 ? 配置環(huán)境(基于.NET 的 PactNET) ? 編寫契約 ? 設置 pact 服務 ? 掛載請求 API ? 通過 Pact 方法調用客戶端 ? 使用 Pact 掛載 JSON ? 比對 JSON 結果是否正確 ? 運行成功測試與失敗測試 |
如何監(jiān)控 ? 如何監(jiān)控單一服務,單一服務器 ? 如何監(jiān)控單一服務,多個服務器 ? 如何監(jiān)控多個服務,多個服務器 ? 如何使用日志 ? 多個服務的指標跟蹤 ? 服務指標 ? 綜合監(jiān)控 ? 關聯標識 ? 級聯 ? 微服務的安全 ? 身份驗證和授權 ? 常見的單點登錄實現 ? 單點登錄網關 ? 細粒度的授權 ? 服務間的身份驗證和授權 ? 靜態(tài)數據的安全 ? 使用微服務的實例 ? 松耦合組織和緊耦合組織 ? Windows Vista ? Netflix 和 Amazon |
如何規(guī)?;⒎? ? 功能降級 ? 架構性安全措施 ? 反脆弱的組織 ? 微服務設計擴展 ? 微服務擴展數據庫 ? 微服務緩存 ? 微服務中 CAP 定理的平衡 ? 自描述系統 |
微服務總結 ? 微服務的原則 ? 圍繞業(yè)務概念建模 ? 接受自動化文化 ? 隱藏內部實現細節(jié) ? 讓一切都去中心化 ? 可獨立部署 ? 隔離失敗 ? 高度可觀察 ? 什么時候你不應該使用微服務 |