時間:2017年07月06日星期四
說明:本文部份內容均來自慕課網。@慕課網:http://www.imooc.com
教學示例源碼:無
學習學習源碼:無架構
分享要點-微服務架構運維
特色 使用緣由 演進 通訊協議、服務註冊與發現 柔性可用實踐 服務治理
什麼是微服務微服務
微服務是一系列小服務的組合 微服務能夠單獨運行,獨立的進程 微服務整個構建要結合業務能力,圍繞業務模型構建 微服務能夠進行獨立部署 微服務架構是一個去中心化的管理
特色-微服務架構性能
微服務粒度 獨立進程 圍繞業務建模 輕量級通訊 去中心化管理
使用緣由-轉轉是什麼學習
二手交易平臺
使用緣由-二手交易平臺功能spa
發佈商品 分類搜索 關鍵詞搜索 推薦商品 消息中心:私信、留言 我的中心等等
使用緣由設計
業務功能多 業務複雜性高 業務高速發展 用戶體驗好
微服務架構特色&二手交易平臺特色code
系統高可用 系統高擴展性 快速迭代 持續交付
演進-如何設計進程
總體設計 --水平分層 --垂直業務拆分 每層設計 --微服務-業務單元垂直拆分 --無狀態化 --獨立進程、部署、運維 高可用 --冗餘 --自動恢復
示意圖ip
整體架構示意圖
演進-存在問題-二手交易特色
業務發展快 業務愈來愈複雜 研發人員增多 開發瓶頸集中:微服務聚合層
演進-存在問題-微服務聚合層
進一個Process 多人開發衝突 業務耦合性高 性能瓶頸 擴展性差
示意圖
演進
單微服務聚合層 => 多微服務聚合層 業務邏輯拆分 => 業務物理拆分
演進示意圖:單微服務聚合層 => 多微服務聚合層
演進-多微服務聚合層優勢
獨立 進程、開發、部署、運維 高效 快速迭代、持續交付
通訊協議-輕量級通訊協議
通訊協議選擇
微服務註冊與發現示意圖
柔性可用實踐-爲何須要
當流量高峯期、短時請求量大時 服務能力有限 性能降低 服務宕機 系統雪崩
柔性設計如何作
目標:保證核心服務可用;非核心服務弱可用,甚至不可用 策略:系統降級、數據層降級、柔性可用策略生效
系統降級
拒絕部分請求 關閉部分服務(業務緊密)
拒絕部分請求示意圖
數據層降級示意圖
服務治理
爲何須要監控 進程狀態 及時發現問題 主動權
監控什麼
機器資源 進程狀態
服務治理-監控手段