阿里技術大牛20年經驗分享微服務治理體系架構檔案

2020-11-13 13:01:25

前言

任何系統的可持續發展都需要與之相匹配的治理能力 。在人類文明演進的過程中 ,技術第一生產力,管理則是不可或缺的軟實力,兩者剛柔相濟,從而使得政治 經濟、軍事、社會形成高效可控的體系。進入 紀以來,軟體程式碼藉由網際網路、雲端計算、人工智慧、 VR/AR物聯網等技術正在「吞噬」整個世界,大規模複雜系統成為社會運轉的基礎設施。隨著應用的功能不斷增強,服務粒度越發精細,系統規模更加龐大,技術架構更加複雜,技術團隊持續「膨脹」,軟體之熵急劇增長,相應的治理體系在實踐中法代演進,日趨成熟。

大平臺、微服務架構之下,服務治理能力至關重要。 衡量系統成熟度的主要標準是非功能性指標,如穩定性、安全性、可維護性、可延伸性等 系統架構從單體到分散式,再到微服務雲原生,甚至混合雲,管理複雜度顯著提高。解藕分治的系統更需要全域性維度的服務治理能力,且必須依靠系統管理系統,實現程式碼即檔案 ,系統即規範。千里之堤潰於蟻穴,一旦有所忽視,不能以規範化、過程化、資料化有效地治理,系統就將迅速腐化,輕則留下技術債務,重則沉病難起,無藥可救 軟體系統固然有其生命週期,但因治理失效導致不可持續則無疑是一種失敗。

本文專注於服務治理,內容系統全面,涵蓋發展歷史、體系構建、範例詳解。如果你的系統越來越亂,那麼可以借鑑本文,重建治理體系,由亂而治。

如果你的系統剛剛起步,那麼本文能夠讓你少走彎路,從一開始就兼顧治理,讓一切盡在掌握。誠然治理也有成本,需與實際收益匹配,合適的才是最好的,過猶不及。水火相濟,陰陽相契,平衡乃中庸之道的最高境界 ,做系統須有系統化思維。

作為系統創造者,面對軟體之惱, 當制之以衡、行之有度,使之增減有序,有為而治,方顯能者本色!天高海闊,大有可為,而修齊治平,當身體力行,與諸君共勉 !

希望本文能夠幫到大家的學習,本文將從目錄、主要內容、面向的讀者給大家進行介紹!!

目錄

華為高階技術專家多年經驗分享微服務治理體系、架構及實踐文件

 

主要內容

第1、2章全面闡述服務治理的發展歷程,以及「大平臺、微服務」架構下服務治理的難點及特點;提出由微服務的度量、管控及管理構建起一個三位一體的閉環體系,從而綜合解決微服務全生命週期的現實治理問題;同時闡述治理體系所涉及的相關細分領域及技術能力。

  • 1.1 IT治理與服務治理的關係
  • 1.2服務治理髮展歷史
  • 1.3微服務治理的範疇

華為高階技術專家多年經驗分享微服務治理體系、架構及實踐文件

 

  • 2.1微服務架構
  • 2.2服務度量
  • 2.3服務管控
  • 2.4三位—體:通過度量、管控、管理實現微服務治理閉環

華為高階技術專家多年經驗分享微服務治理體系、架構及實踐文件

 

第3、4章重點介紹微服務的線上治理能力;通過微服務治理的度量指標體系及指標採集、儲存、分析手段構建微服務度量能力,並在此基礎上,通過微服務的健康度分析、故障定界定位、容量規劃、根因分析、趨勢預測等來構建針對微服務的「看」的能力;通過限流、降級、容錯、彈性伸縮、安全管控等手段來構建微服務的「管」的能力;同時通過應急預案、故障演練、混沌工程等來提升線上微服務的可靠性。

  • 3.1線上微服務度量核心指標及分析手段
  • 3.2服務關係維度
  • 3.3應用關係維度
  • 3.4服務效能維度
  • 3.5服務異常維度
  • 3.6資源維度
  • 3.7服務綜合度量

華為高階技術專家多年經驗分享微服務治理體系、架構及實踐文件

 

  • 4.1分散式服務魯棒性的架構保障
  • 4.2服務負載
  • 4.3服務限流
  • 4.4服務叢集容錯
  • 4.5服務降級
  • 4.6服務授權
  • 4.7服務線上生命週期管理
  • 4.8服務線上穩定性保障

華為高階技術專家多年經驗分享微服務治理體系、架構及實踐文件

 

第5章介紹通過APM及動態呼叫鏈跟蹤來提升微服務的監控及度量能力。一個跨網路的業務呼叫請求涉及不同應用及服務節點的呼叫。我們雖然可以將這個請求在每個節點上的行為以紀錄檔的形式記錄下來,但在傳統的紀錄檔監控中,紀錄檔之間是沒有關係的。就算這些紀錄檔被完全收集,也很難識別出這個請求所關聯的紀錄檔,更別說基於這些關聯紀錄檔還原出請求的全貌。離散、無關聯的紀錄檔記錄無法有效地幫助我們快速地進行分散式環境下的故障及效能問題的定界定位和關係梳理。

所幸的是,IT技術領域很早就注意到分散式環境下的效能及呼叫關係梳理問題,並行展出了相關的應用效能管理(Application Performance Management,APM)技術體系。APM 是實現服務度量的一種非常重要並且有效的手段,本章將重點介紹APM及其核心技術:呼叫鏈跟蹤。

  • 5.1 APM及呼叫鏈發展史
  • 5.2呼叫鏈跟蹤原理
  • 5.3呼叫鏈跟蹤實戰
  • 5.4 APM及呼叫鏈落地策略

華為高階技術專家多年經驗分享微服務治理體系、架構及實踐文件

 

第6章介紹微服務深度治理能力的構建,將微服務的治理「延升」到架構、開發、測試、運維、團隊協同等各個領域,從而實現微服務架構在組織中從「用得了」到「用得好」的提升;同時將服務治理能力反哺給業務,實現技術和業務的良性互動。

6.1架構治理

6.2研發治理

6.3運維治理

6.4協同管理治理

6.5業務治理

華為高階技術專家多年經驗分享微服務治理體系、架構及實踐文件

 

第7章構建輕量高效的指標採集能力;通過前面6章的學習,相信讀者已經對徼服務治理的整體技術架構有了一個相對完整的認識。但是,「紙上得來終覺淺,絕知此事要躬行」,理論和實踐之間終究還有一定的距離。為了幫助讀者學以致用,從本章開始的後3章將構建一個服務治理的演示範例。服務治理的技術及應用體系非常龐大,一個範例不可能覆蓋所有的領域。本書一再強調,度量是治理的前提和基礎,因此本範例不追求面面俱到,只重點聚焦於服務度量領域,構建一個集指標採集、分析、監控為一體的服務度量平臺,幫助讀者深入理解如何基於效能、異常和自定義紀錄檔採集來對服務的效能及業務狀態進行監控。

本章主要聚焦於服務指標採集使用者端SDK的構建,包含架構分析和必要的核心程式碼說明。

  • 7.1整體架構
  • 7.2指標採集
  • 7.3紀錄檔預處理
  • 7.4指標傳送

華為高階技術專家多年經驗分享微服務治理體系、架構及實踐文件

 

第8章構建支援高並行的高效的指標收集及儲存能力;第7章介紹了使用Spring AOP、MyBatis Plugin機制、JVM的 ManagementFactory來構建針對服務呼叫紀錄檔、DAO呼叫紀錄檔、系統紀錄檔等的採集功能,採用Netty NIO來構建高效能的紀錄檔傳輸通道。本章將構建一個接收指標訊息並落地儲存的伺服器端應用,與第7章構建的指標採集使用者端相對接,形成一個完整的「採集—接收」閉環體系。

  • 8.1整體架構
  • 8.2資料接收
  • 8.3擴充套件能力

華為高階技術專家多年經驗分享微服務治理體系、架構及實踐文件

 

第9章指標視覺化及度量能力構建;通過前面兩章的介紹,我們已經構建了基本完整的治理指標採集、收集、儲存的技術框架和系統功能。本章將重點介紹資料的視覺化及治理指標的度量分析。我們會構建一個視覺化系統來承載這些能力。

  • 9.1系統架構9.2服務監控
  • 9.3 DAO監控
  • 9.4系統監控
  • 9.5自定義業務監控

華為高階技術專家多年經驗分享微服務治理體系、架構及實踐文件

 

這份【微服務治理體系、架構及實踐】檔案共有438頁,需要完整版的小夥伴,可以以下方式來獲取!

大牛對本文的評價以及所面向讀者

從SOA到當今的微服務歷時十多年,其中不乏服務治理的身影。但服務治理的概念、內涵和實踐,在業界一直無法統一,更無法形成行業標準。隨著系統的複雜程度越來越高,服務治理的需求越來越緊迫,並已成為一大痛點。

微服務是現代系統中非常受關注的「焦點」,越來越多的分散式系統都紛紛採用微服務的設計理念來演進其架構模型。隨著微服務應用規模的增長,治理膨脹的系統會越來越困難。比起微服務設計和拆分,如何能夠更好地治理大規模的微服務,才是微服務落地的真正難點。

本文站在治理的角度,從海量微服務出發,向讀者展現了微服務領域的「深水區」。我相信,通過閱讀本文,你能夠更順暢地邁進微服務的下半場。

本文適合技術管理者、架構師和有一定基礎的技術人員閱讀,尤其適合自己進入或即將進入服務化和服務治理領域的相關人員閱讀。

希望本文能夠為讀者提供一些啟發和指引,讓大家少走彎路。

努力成就更好的自己,不斷地提升自己的技術深度和廣度,讓自己變得更加有價值,希望本文能夠幫助到大家的學習和喜歡!