內容簡介
在
微服務技術流行的當下,企業在實施微服務架構的時候,會對整個研發體系,包括開發、運維、團隊組織、協同都帶來衝擊。因此必須構建起一整套以服務治理為核心、從線下到線上的新的能力體系來支撐這套新的架構技術,否則很難保證微服務架構的順暢落地。 本書是作者多年服務治理經驗總結,希望能夠給仍在(微)服務治理迷局中奪路狂奔的計算機技術人員一點啟發和指引。
在本書的第一、二兩章中,作者將全面闡述服務治理的發展歷程,以及“大平台、微服務”架構下服務治理的難點及特點。在此基礎上,提出由微服務的度量、管控及管理構建起一個三位一體的閉環體系來綜合解決微服務全生命周期的現實治理需求。並闡述治理體系所涉及的相關細分領域及技術能力。
在第三、四兩章中,重點介紹微服務的線上治理能力。通過微服務治理的度量指標體系及指標採集、存儲、分析手段構建微服務度量能力,並在此基礎上進行微服務的健康度分析、故障定界定位、容量規劃、根因分析、趨勢預測等來構建針對微服務的“看”的能力。通過限流、降級、容錯、彈性伸縮、安全管控等管控手段來構建微服務的“管”的能力。同時通過應急預案、故障演練、混沌工程等穩定性能力建設來來提升線上微服務的可靠性。
第五章將介紹通過
APM及動態調用鏈跟蹤來提升微服務的監控及度量能力。
第六章是微服務深度治理能力構建,將微服務的治理延升到架構、開發、測試、運維、團隊協同等各個領域,從而實現微服務架構在組織中從“用的了”到“用的好”的提升。同時將服務治理能力反哺給業務,實現技術和業務的良性互動。 本書的七、八、九章是是實踐部分。通過一個指標採集、傳輸、存儲、分析度量的完整演示案例來引導讀者深入理解微服務治理技術的套用。
圖書目錄
第 1 章 服務及服務治理髮展簡介
1.1 IT 治理與服務治理的關係
1.2 服務治理髮展歷史
1.2.1 單體架構及治理
1.2.3 分散式服務及治理
1.2.4 微服務及治理
1.3.1 微服務是一種研發模式
1.3.2 微服務的架構模式及治理
1.3.3 研發治理
1.3.4 測試治理
1.3.5 運維治理
1.3.6 管理治理
第 2 章 微服務治理技術概述
2.1 微服務架構
2.1.1 服務端發現
2.1.2 客戶端發現
2.1.3 服務格線發現
2.1.4 直連模式的架構特點
2.1.5 微服務全生命周期整體架構
2.2 服務度量
2.2.1 服務開發質量度量
2.2.2 服務測試質量度量
2.2.3 服務運維質量度量
2.2.4 服務線上性能度量
2.3 服務管控
2.3.1 微服務的內部管控
2.3.2 微服務生命周期管理
2.4 三位一體:通過度量、管控、管理實現微服務治理閉環
2.4.1 治理指標體系
2.4.2 治理度量與分析
4.5.3 容錯降級
4.5.5 熔斷降級
4.5.6 延伸閱讀:廣義降級操作
4.6 服務授權
4.6.1 自主授權
4.6.2 註冊中心授權
4.6.3 第三方服務授權
4.7 服務線上生命周期管理
4.7.1 微服務的部署
4.7.2 藍綠髮布
4.7.3 灰度發布
4.8 服務線上穩定性保障
4.8.1 應急預案
4.8.2 故障演練
4.8.3 混沌工程
5.1 APM 及調用鏈發展史
5.2 調用鏈跟蹤原理
5.2.2 調用鏈跟蹤的整體架構
5.2.3 Trace 日誌埋點
5.2.4 日誌採集
5.2.5 日誌收集
5.2.6 日誌存儲
5.2.7 告警
5.3 調用鏈跟蹤實戰
5.3.1 基於調用鏈跟蹤的服務調用瓶頸分析
5.3.2 基於調用鏈跟蹤的服務故障定界定位
5.3.3 從巨觀到微觀—APM 的綜合套用
5.3.4 調用鏈的聚合分析
5.3.5 深入挖掘調用鏈潛力:通過調用鏈監控業務的健康狀態
5.4 APM 及調用鏈落地策略
5.4.1 客戶端插碼策略
5.4.2 採樣策略
5.4.3 產品選型策略
第 6 章 微服務架構體系的深度治理
6.1 架構治理
6.1.1 治理目標
6.1.2 微觀架構治理
6.1.3 巨觀架構治理
6.2 研發治理
6.2.1 治理目標
6.2.2 開發質量治理
6.2.3 測試質量治理
6.2.4 綜合調測能力構建
6.3 運維治理
6.3.1 治理目標
6.3.2 多環境建設
6.4 管理維度治理
6.4.1 治理目標
6.4.2 小步快跑,高頻發布
6.5 業務治理
6.5.1 治理目標
6.5.2 業務指標採集框架
6.5.3 業務指標實時監控及分析
6.5.4 風控及反欺詐
6.5.5 通過數據稽核發現分散式架構下的業務風險
第 7 章 構建輕量高效的數據採集能力
7.1 整體架構
7.1.1 功能架構
7.1.2 系統架構
7.2 日誌採集
7.2.2 使用
DAO攔截器採集資料庫訪問性能日誌
7.2.3 定時採集系統性能日誌
7.2.4 自定義採集業務日誌
7.3 日誌預處理
7.3.1 日誌快取
7.3.2 指標預處理
7.3.3 定時指標傳送
7.4 日誌傳送
7.4.2 訊息傳送
第 8 章 構建支持高並發的高效的數據收集及存儲能力
8.1 整體架構
8.2 數據接收
8.2.1 NIO 伺服器
8.2.2 訊息接收
8.2.3 訊息處理
8.3 擴展能力
8.3.1 數據定期統計匯總
8.3.2 服務監控台
第 9 章 指標可視化及度量能力構建
9.1 系統架構
9.1.1 整體架構
9.1.2 技術選型
9.2 服務監控
9.2.1 服務錯誤 TopN 監控
9.2.2 業務錯誤 TopN 監控
9.2.3 性能最差 TopN 監控
9.2.4 調用次數最多 TopN 監控
9.2.5 總資源占用最多 TopN 監控
9.2.6 服務調用時間縱比
9.3 DAO 監控
9.3.1 錯誤最多 TopN 監控
9.3.2 性能最差 TopN 監控
9.3.3 調用次數最多 TopN 監控
9.3.4 總資源占用 TopN 監控
9.4 系統監控
9.4.1 一小時系統負載變化曲線圖
9.4.2 一小時 JVM 使用記憶體變化曲線圖
9.4.3 系統時點指標監控
9.4.4 JVM 垃圾收集統計
9.5 自定義業務監控
9.5.1 圖表配置
9.5.2 圖表展示
作者簡介
目前在金融行業負責基金直銷平台整體技術架構和研發團隊管理。曾任華為六級技術專家,主導了華為軟體多款雲計算產品和服務的設計規劃和構建工作。曾在噹噹網任運作產品平台部門的技術負責人,負責電商倉儲、物流、客服等系統的整體技術架構和研發團隊管理。更早之前曾在航空、導航、金融、電信等領域從事企業級套用的架構設計和技術管理工作。
樂於技術分享,曾在QCon、ArchSummit等技術大會上做技術演講,多次獲得“明星講師”及“優秀出品人”榮譽稱號。