課程簡介
本課程首先將系統(tǒng)地講述高質(zhì)量的軟件架構該設計過程,包括如何運用領域驅(qū)動設計的思想貫穿整個架構設計,又如何使軟件系統(tǒng)在衍變中調(diào)整架構,從而適應需求的變化;如何運用5視圖的方法,全面地思考軟件架構各方面的問題,從需求入手逐步落實到可行的技術架構;從全局的角度進行軟件分層、技術選型、模塊劃分等方面的設計;運用數(shù)據(jù)持久化的方式設計數(shù)據(jù)結構;運用“屬性->場景->決策”的過程把握非功能設計;從部署、網(wǎng)絡、性能的角度進行物理架構的設計,從而有效避免架構設計時遺漏關鍵風險點,使架構設計過程變得有序。
目標收益
培訓對象
課程大綱
第一章 企業(yè)架構設計概述 |
什么是軟件架構 情景?。很浖軜嬙O計的價值 一個人的軟件設計過程 7-8個人的軟件設計過程 幾十個人的軟件設計過程 結論:軟件架構是從宏觀上說明一套系統(tǒng)的組成與特性 1)業(yè)務架構設計 2)應用架構設計 3)數(shù)據(jù)架構設計 4)技術架構設計 5)物理架構設計 什么是企業(yè)架構設計 1.站在全局角度去規(guī)劃整個企業(yè)的架構 1)企業(yè)中各個產(chǎn)品線的業(yè)務規(guī)劃 → 打通業(yè)務流 2)企業(yè)中各個產(chǎn)品線的技術規(guī)劃 → 建立技術平臺 3)企業(yè)中各個產(chǎn)品線的數(shù)據(jù)規(guī)劃 → 建立數(shù)據(jù)中臺 4)企業(yè)中各個產(chǎn)品線的組織規(guī)劃 → 建立開發(fā)規(guī)范與組織原則 2.需求驅(qū)動 vs. 架構驅(qū)動 需求驅(qū)動:整理現(xiàn)有的、已知的碎片化需求 架構驅(qū)動:從全局的角度探索未知的業(yè)務,摸索未來發(fā)展的模態(tài) 1)業(yè)務上 → 各部門精益協(xié)作,降本增效(敏捷轉(zhuǎn)型) 2)數(shù)據(jù)上 → 打通上下游產(chǎn)業(yè)鏈,建立生態(tài)(數(shù)字化轉(zhuǎn)型) 3)技術上 → 搭建統(tǒng)一、規(guī)范的平臺,并持續(xù)改進(架構演化) 軟件架構設計的發(fā)展歷程 1. 什么是軟件架構及其架構發(fā)展歷程 2. 介紹與比較當今主流的企業(yè)架構設計框架與方法論: Zachman,TOGAF,F(xiàn)EAF/FEA,DDD與中臺架構 3. TOGAF架構設計思想與框架 4. DDD架構設計思想與框架 5. 中臺架構設計思想與框架 |
第二章 業(yè)務架構設計與領域驅(qū)動 |
業(yè)務架構的規(guī)劃與設計過程 一、業(yè)務架構的概念與重要作用 二、業(yè)務架構的梳理與設計過程 1. 對現(xiàn)有架構的梳理:對企業(yè)當前IT建設現(xiàn)狀的梳理與分析 2. 價值流分析:以客戶價值為中心,識別業(yè)務能力短板,制訂架構建設目標 3. 組件化模型分析:從內(nèi)部、外部兩個方向梳理,制訂組件化改造方向 對現(xiàn)有架構的梳理與架構藍圖 實戰(zhàn)演練:某服裝行業(yè)的企業(yè)業(yè)務架構梳理過程 1. 組織模型與應用架構覆蓋率的分析,發(fā)現(xiàn)應用架構的短板 2. 基于價值流的分析,建立業(yè)務能力與應用架構的映射 3. 基于價值流的業(yè)務能力,規(guī)劃企業(yè)的應用架構與數(shù)據(jù)架構 價值流分析與業(yè)務架構梳理過程 1. 分析企業(yè)的組織架構(內(nèi)部/外部/利益相關者) 2. 分析組織架構中不同角色的價值主張,形成價值流地圖 3. 分析價值流與相關的業(yè)務能力之間的關系 4. 將價值流進一步細化,形成端到端的流程清單 5. 在流程清單中增加角色智能,繪制端到端的流程圖 基于組件的模型分析與優(yōu)化 一、CBM組件化模型的概念與設計思想 1. 內(nèi)部專業(yè)化:整合內(nèi)部業(yè)務職能,把流程優(yōu)化轉(zhuǎn)變?yōu)闃I(yè)務模塊化建設 2. 外部專業(yè)化:集成外部商業(yè)合作伙伴,打造端到端的行業(yè)生態(tài)系統(tǒng) 二、CBM分析與改造的三個階段:洞察、架構、投資 DDD領域驅(qū)動設計與領域模型 DDD是解決業(yè)務復雜性的問題 1.最初的產(chǎn)品需求并不復雜,但隨著業(yè)務的拓展越來越復雜 2.隨著業(yè)務的拓展,系統(tǒng)規(guī)模越來越大,交付速度越來越慢 3.越來越激烈的市場競爭,需要越來越快的交付速度 4.越來越快的技術更迭,需要軟件系統(tǒng)越來越快速的技術更迭 解決方案: 1.認知負載理論揭示系統(tǒng)越復雜,業(yè)務變更成本越高 2.領域驅(qū)動設計的解決方案: 1)問題空間與解空間的設計思路 2)劃分子域、限界上下文與領域建模 3)將限界上下文的劃分落實到微服務的開發(fā) 基于業(yè)務領域知識的業(yè)務探索 1. 傳統(tǒng)的業(yè)務需求分析方法 2. 領域驅(qū)動設計:原文分析法 3. 領域驅(qū)動設計:事件風暴法 事件風暴領域建模過程 事件風暴法與敏捷軟件開發(fā)的融合 演練案例:在線訂餐系統(tǒng)的領域設計過程 1. 從領域中吸取業(yè)務領域知識 2. 統(tǒng)一語言建模:與用戶溝通需求的高級技巧 3. 事件風暴會議 1) 梳理業(yè)務流程,識別領域事件 2) 為每個領域事件識別參與者、行為、相關事物 3) 標記事物之間的關系、聚合、聚合根 4) 根據(jù)業(yè)務劃分限界上下文 5) 遍歷所有事件,確定上下文映射 4. 業(yè)務領域建模 1) 為每個領域事件構建業(yè)務領域模型 2) 劃分主題域、支撐域、通用域 3) 落實各子域之間的聯(lián)系、接口及事件通知機制 |
第三章 應用架構設計與架構規(guī)劃 |
應用架構的概念與設計思路 一、系統(tǒng)規(guī)劃與接口定義 案例:遠程智慧醫(yī)療平臺的系統(tǒng)規(guī)劃過程 二、系統(tǒng)分層與技術中臺設計 ? 剖析常見的架構設計模式及其設計思想 ? 1. 整潔架構與六邊形架構設計 ? 2. CQRS架構設計與讀寫分離 ? 3. 互聯(lián)網(wǎng)與分布式架構設計 三、開發(fā)架構的技術選型 四、軟件開發(fā)規(guī)范的制訂 基于領域驅(qū)動的微服務架構設計 1. 小而專的微服務設計 2. 限界上下文與微服務拆分 3. 上下文地圖與微服務接口 4. 各微服務中實體、值對象與服務的設計 5. 各微服務中聚合、工廠與倉庫的設計 6. 領域模型4種關系3種繼承的數(shù)據(jù)庫設計 7. 聚合層的設計、工廠和倉庫的實現(xiàn) 8. 基于DDD的微服務架構分層 DDD+微服務的設計難題與解決思路 1. 跨庫查詢的設計難題與設計實現(xiàn) 2. 領域事件的通知機制與設計實現(xiàn) 3. 微服務接口的防腐層設計 4. 狀態(tài)查詢跟蹤的設計思路與代碼實現(xiàn) |
第四章 數(shù)據(jù)架構設計與數(shù)據(jù)庫設計 |
數(shù)據(jù)架構設計思路與過程 一、數(shù)據(jù)架構的設計思路:將數(shù)據(jù)從資源變?yōu)橘Y產(chǎn) 1.數(shù)據(jù)生產(chǎn):信息化建設過程中,制訂數(shù)據(jù)標準、提高數(shù)據(jù)質(zhì)量 2.數(shù)據(jù)加工:將分散在各系統(tǒng)的數(shù)據(jù)收集起來,通過加工形成資產(chǎn) 3.數(shù)據(jù)利用:進行數(shù)字化建設,讓數(shù)據(jù)為業(yè)務賦能 數(shù)據(jù)資產(chǎn)管理與數(shù)據(jù)治理 數(shù)據(jù)資產(chǎn)管理的思路 1. 數(shù)據(jù)資產(chǎn)的構成:業(yè)務數(shù)據(jù)、分析數(shù)據(jù)、主數(shù)據(jù) 2. 數(shù)據(jù)資產(chǎn)管理的核心是數(shù)據(jù)治理 數(shù)據(jù)治理面臨的難題 1. 雜亂無章的數(shù)據(jù)來源 2. 晦澀難懂的數(shù)據(jù)語義 3. 千差萬別的數(shù)據(jù)格式 4. 無處不在的數(shù)據(jù)問題 數(shù)據(jù)治理的目標 1. 數(shù)據(jù)資產(chǎn)清理 2. 數(shù)據(jù)標準統(tǒng)一 3. 數(shù)據(jù)質(zhì)量管理 4. 數(shù)據(jù)職責清晰 數(shù)據(jù)治理的過程 1. 通過領域模型梳理各業(yè)務系統(tǒng)的業(yè)務 2. 將領域模型轉(zhuǎn)換成多維數(shù)據(jù)模型 3. 探查數(shù)據(jù)質(zhì)量,建立ETL過程 4. 將數(shù)據(jù)導入數(shù)據(jù)倉庫,劃分主題模型 案例:智慧遠程大數(shù)據(jù)平臺的建設過程 將領域模型轉(zhuǎn)換成多維數(shù)據(jù)模型 1. 建立多維數(shù)據(jù)模型 a) 動態(tài)數(shù)據(jù):核心業(yè)務數(shù)據(jù),有業(yè)務發(fā)生時間,最終形成事實表 b) 靜態(tài)數(shù)據(jù):相關的檔案、信息表、數(shù)據(jù)字典,最終形成維度表 2. 多維數(shù)據(jù)模型優(yōu)化 a) 雪花模型轉(zhuǎn)換為星型模型 b) 日期維、組合維、層級維 c) 一對多、多對多的模型轉(zhuǎn)換 3. 數(shù)據(jù)主題域的劃分 4. 數(shù)據(jù)中臺的分層: 原始數(shù)據(jù)層、細節(jié)數(shù)據(jù)層、輕度綜合層、數(shù)據(jù)集市層 5. 數(shù)據(jù)集市與數(shù)據(jù)分析挖掘 |
第五章 技術架構設計與技術規(guī)劃 |
探討技術架構的設計過程 1. 關注關鍵點與難點而不是全局 2. 屬性→場景→決策的分析過程 3. 架構跑道、意圖架構與使能故事 互聯(lián)網(wǎng)分布式系統(tǒng)的架構演化 案例:講解某互聯(lián)網(wǎng)系統(tǒng)的架構演進過程 初始狀態(tài):All-in-One集中式架構設計 1) 多級集中式架構及其弊病 2) CDN內(nèi)容分發(fā)網(wǎng)絡及其應用 1000萬以內(nèi):前后端分離的架構設計 1) 前后端分離的應用實戰(zhàn) 案例:基于vue+springboot+mybatis的架構實踐 2) 數(shù)據(jù)接入的高可用設計實踐 案例:Nginx的高可用設計實踐 案例:F5+LVS多層負載均衡的設計實踐 案例:k8s接入層ingress的設計實踐 1000萬以上:讀寫分離的架構設計 案例:生產(chǎn)庫和基于生產(chǎn)庫微服務設計實踐 1. 數(shù)據(jù)庫的橫向縱向切分 1) 數(shù)據(jù)庫的縱向切分與微服務的設計 2) 數(shù)據(jù)庫的橫向切分與分布式數(shù)據(jù)庫 2. 分布式緩存的設計 3. 異步化操作與分布式隊列 4. NewSQL數(shù)據(jù)庫的原理與應用 案例:查詢庫和基于查詢庫微服務設計實踐 1. 讀寫分離后查詢庫的設計思路 1) 查詢庫“寬表”的設計思路與實踐 2) T+1模式與基于消息的實時數(shù)據(jù)同步 2. NoSQL數(shù)據(jù)庫的原理及其應用 億級流量的架構設計:通過分層實現(xiàn)逐級限流 1. SOA架構的設計局限 2. 高并發(fā)、高可用微服務的架構設計 1) 微服務的拆分原則與分布式云部署 2) 通過Kubernetes實現(xiàn)微服務的彈性擴容與高可用 3) 微服務的高可用措施:故障轉(zhuǎn)移、熔斷、降級、限流措施 |
第六章 物理架構設計與云部署 |
探討物理架構設計過程 1. 案例講解一些常見物理架構設計 2. 案例講解IT架構規(guī)劃與網(wǎng)絡部署 3. 案例講解一些技術方案的編寫 云原生(Cloud Native)的概念 1. 面向互聯(lián)網(wǎng)分布式系統(tǒng)運維的難點與痛點 2. 云原生=微服務+DevOps+持續(xù)交付+容器化bus 3. 云原生架構的核心思想與“12因素(12-Factors)” 4. 云原生的設計實現(xiàn):Kubernetes、微服務、服務網(wǎng)格 分布式云原生的自動化運維平臺 1.基于Jenkins與pipeline構建持續(xù)發(fā)布平臺 2.基于SonarQube與Jacoco構建質(zhì)量監(jiān)督平臺 3.基于Docker+Kubernetes構建容器化部署平臺 4.包含各種分布式緩存、分布式隊列、分布式事務的PaaS云平臺 5.基于NoSQL/NewSQL分布式數(shù)據(jù)庫的DaaS數(shù)據(jù)平臺 6.基于Skywalking的鏈路跟蹤與系統(tǒng)調(diào)優(yōu)平臺 7.基于Prometheus+Grafana的自動化監(jiān)控告警平臺 8.基于EFK的分布式日志監(jiān)控平臺 |
第一章 企業(yè)架構設計概述 什么是軟件架構 情景?。很浖軜嬙O計的價值 一個人的軟件設計過程 7-8個人的軟件設計過程 幾十個人的軟件設計過程 結論:軟件架構是從宏觀上說明一套系統(tǒng)的組成與特性 1)業(yè)務架構設計 2)應用架構設計 3)數(shù)據(jù)架構設計 4)技術架構設計 5)物理架構設計 什么是企業(yè)架構設計 1.站在全局角度去規(guī)劃整個企業(yè)的架構 1)企業(yè)中各個產(chǎn)品線的業(yè)務規(guī)劃 → 打通業(yè)務流 2)企業(yè)中各個產(chǎn)品線的技術規(guī)劃 → 建立技術平臺 3)企業(yè)中各個產(chǎn)品線的數(shù)據(jù)規(guī)劃 → 建立數(shù)據(jù)中臺 4)企業(yè)中各個產(chǎn)品線的組織規(guī)劃 → 建立開發(fā)規(guī)范與組織原則 2.需求驅(qū)動 vs. 架構驅(qū)動 需求驅(qū)動:整理現(xiàn)有的、已知的碎片化需求 架構驅(qū)動:從全局的角度探索未知的業(yè)務,摸索未來發(fā)展的模態(tài) 1)業(yè)務上 → 各部門精益協(xié)作,降本增效(敏捷轉(zhuǎn)型) 2)數(shù)據(jù)上 → 打通上下游產(chǎn)業(yè)鏈,建立生態(tài)(數(shù)字化轉(zhuǎn)型) 3)技術上 → 搭建統(tǒng)一、規(guī)范的平臺,并持續(xù)改進(架構演化) 軟件架構設計的發(fā)展歷程 1. 什么是軟件架構及其架構發(fā)展歷程 2. 介紹與比較當今主流的企業(yè)架構設計框架與方法論: Zachman,TOGAF,F(xiàn)EAF/FEA,DDD與中臺架構 3. TOGAF架構設計思想與框架 4. DDD架構設計思想與框架 5. 中臺架構設計思想與框架 |
第二章 業(yè)務架構設計與領域驅(qū)動 業(yè)務架構的規(guī)劃與設計過程 一、業(yè)務架構的概念與重要作用 二、業(yè)務架構的梳理與設計過程 1. 對現(xiàn)有架構的梳理:對企業(yè)當前IT建設現(xiàn)狀的梳理與分析 2. 價值流分析:以客戶價值為中心,識別業(yè)務能力短板,制訂架構建設目標 3. 組件化模型分析:從內(nèi)部、外部兩個方向梳理,制訂組件化改造方向 對現(xiàn)有架構的梳理與架構藍圖 實戰(zhàn)演練:某服裝行業(yè)的企業(yè)業(yè)務架構梳理過程 1. 組織模型與應用架構覆蓋率的分析,發(fā)現(xiàn)應用架構的短板 2. 基于價值流的分析,建立業(yè)務能力與應用架構的映射 3. 基于價值流的業(yè)務能力,規(guī)劃企業(yè)的應用架構與數(shù)據(jù)架構 價值流分析與業(yè)務架構梳理過程 1. 分析企業(yè)的組織架構(內(nèi)部/外部/利益相關者) 2. 分析組織架構中不同角色的價值主張,形成價值流地圖 3. 分析價值流與相關的業(yè)務能力之間的關系 4. 將價值流進一步細化,形成端到端的流程清單 5. 在流程清單中增加角色智能,繪制端到端的流程圖 基于組件的模型分析與優(yōu)化 一、CBM組件化模型的概念與設計思想 1. 內(nèi)部專業(yè)化:整合內(nèi)部業(yè)務職能,把流程優(yōu)化轉(zhuǎn)變?yōu)闃I(yè)務模塊化建設 2. 外部專業(yè)化:集成外部商業(yè)合作伙伴,打造端到端的行業(yè)生態(tài)系統(tǒng) 二、CBM分析與改造的三個階段:洞察、架構、投資 DDD領域驅(qū)動設計與領域模型 DDD是解決業(yè)務復雜性的問題 1.最初的產(chǎn)品需求并不復雜,但隨著業(yè)務的拓展越來越復雜 2.隨著業(yè)務的拓展,系統(tǒng)規(guī)模越來越大,交付速度越來越慢 3.越來越激烈的市場競爭,需要越來越快的交付速度 4.越來越快的技術更迭,需要軟件系統(tǒng)越來越快速的技術更迭 解決方案: 1.認知負載理論揭示系統(tǒng)越復雜,業(yè)務變更成本越高 2.領域驅(qū)動設計的解決方案: 1)問題空間與解空間的設計思路 2)劃分子域、限界上下文與領域建模 3)將限界上下文的劃分落實到微服務的開發(fā) 基于業(yè)務領域知識的業(yè)務探索 1. 傳統(tǒng)的業(yè)務需求分析方法 2. 領域驅(qū)動設計:原文分析法 3. 領域驅(qū)動設計:事件風暴法 事件風暴領域建模過程 事件風暴法與敏捷軟件開發(fā)的融合 演練案例:在線訂餐系統(tǒng)的領域設計過程 1. 從領域中吸取業(yè)務領域知識 2. 統(tǒng)一語言建模:與用戶溝通需求的高級技巧 3. 事件風暴會議 1) 梳理業(yè)務流程,識別領域事件 2) 為每個領域事件識別參與者、行為、相關事物 3) 標記事物之間的關系、聚合、聚合根 4) 根據(jù)業(yè)務劃分限界上下文 5) 遍歷所有事件,確定上下文映射 4. 業(yè)務領域建模 1) 為每個領域事件構建業(yè)務領域模型 2) 劃分主題域、支撐域、通用域 3) 落實各子域之間的聯(lián)系、接口及事件通知機制 |
第三章 應用架構設計與架構規(guī)劃 應用架構的概念與設計思路 一、系統(tǒng)規(guī)劃與接口定義 案例:遠程智慧醫(yī)療平臺的系統(tǒng)規(guī)劃過程 二、系統(tǒng)分層與技術中臺設計 ? 剖析常見的架構設計模式及其設計思想 ? 1. 整潔架構與六邊形架構設計 ? 2. CQRS架構設計與讀寫分離 ? 3. 互聯(lián)網(wǎng)與分布式架構設計 三、開發(fā)架構的技術選型 四、軟件開發(fā)規(guī)范的制訂 基于領域驅(qū)動的微服務架構設計 1. 小而專的微服務設計 2. 限界上下文與微服務拆分 3. 上下文地圖與微服務接口 4. 各微服務中實體、值對象與服務的設計 5. 各微服務中聚合、工廠與倉庫的設計 6. 領域模型4種關系3種繼承的數(shù)據(jù)庫設計 7. 聚合層的設計、工廠和倉庫的實現(xiàn) 8. 基于DDD的微服務架構分層 DDD+微服務的設計難題與解決思路 1. 跨庫查詢的設計難題與設計實現(xiàn) 2. 領域事件的通知機制與設計實現(xiàn) 3. 微服務接口的防腐層設計 4. 狀態(tài)查詢跟蹤的設計思路與代碼實現(xiàn) |
第四章 數(shù)據(jù)架構設計與數(shù)據(jù)庫設計 數(shù)據(jù)架構設計思路與過程 一、數(shù)據(jù)架構的設計思路:將數(shù)據(jù)從資源變?yōu)橘Y產(chǎn) 1.數(shù)據(jù)生產(chǎn):信息化建設過程中,制訂數(shù)據(jù)標準、提高數(shù)據(jù)質(zhì)量 2.數(shù)據(jù)加工:將分散在各系統(tǒng)的數(shù)據(jù)收集起來,通過加工形成資產(chǎn) 3.數(shù)據(jù)利用:進行數(shù)字化建設,讓數(shù)據(jù)為業(yè)務賦能 數(shù)據(jù)資產(chǎn)管理與數(shù)據(jù)治理 數(shù)據(jù)資產(chǎn)管理的思路 1. 數(shù)據(jù)資產(chǎn)的構成:業(yè)務數(shù)據(jù)、分析數(shù)據(jù)、主數(shù)據(jù) 2. 數(shù)據(jù)資產(chǎn)管理的核心是數(shù)據(jù)治理 數(shù)據(jù)治理面臨的難題 1. 雜亂無章的數(shù)據(jù)來源 2. 晦澀難懂的數(shù)據(jù)語義 3. 千差萬別的數(shù)據(jù)格式 4. 無處不在的數(shù)據(jù)問題 數(shù)據(jù)治理的目標 1. 數(shù)據(jù)資產(chǎn)清理 2. 數(shù)據(jù)標準統(tǒng)一 3. 數(shù)據(jù)質(zhì)量管理 4. 數(shù)據(jù)職責清晰 數(shù)據(jù)治理的過程 1. 通過領域模型梳理各業(yè)務系統(tǒng)的業(yè)務 2. 將領域模型轉(zhuǎn)換成多維數(shù)據(jù)模型 3. 探查數(shù)據(jù)質(zhì)量,建立ETL過程 4. 將數(shù)據(jù)導入數(shù)據(jù)倉庫,劃分主題模型 案例:智慧遠程大數(shù)據(jù)平臺的建設過程 將領域模型轉(zhuǎn)換成多維數(shù)據(jù)模型 1. 建立多維數(shù)據(jù)模型 a) 動態(tài)數(shù)據(jù):核心業(yè)務數(shù)據(jù),有業(yè)務發(fā)生時間,最終形成事實表 b) 靜態(tài)數(shù)據(jù):相關的檔案、信息表、數(shù)據(jù)字典,最終形成維度表 2. 多維數(shù)據(jù)模型優(yōu)化 a) 雪花模型轉(zhuǎn)換為星型模型 b) 日期維、組合維、層級維 c) 一對多、多對多的模型轉(zhuǎn)換 3. 數(shù)據(jù)主題域的劃分 4. 數(shù)據(jù)中臺的分層: 原始數(shù)據(jù)層、細節(jié)數(shù)據(jù)層、輕度綜合層、數(shù)據(jù)集市層 5. 數(shù)據(jù)集市與數(shù)據(jù)分析挖掘 |
第五章 技術架構設計與技術規(guī)劃 探討技術架構的設計過程 1. 關注關鍵點與難點而不是全局 2. 屬性→場景→決策的分析過程 3. 架構跑道、意圖架構與使能故事 互聯(lián)網(wǎng)分布式系統(tǒng)的架構演化 案例:講解某互聯(lián)網(wǎng)系統(tǒng)的架構演進過程 初始狀態(tài):All-in-One集中式架構設計 1) 多級集中式架構及其弊病 2) CDN內(nèi)容分發(fā)網(wǎng)絡及其應用 1000萬以內(nèi):前后端分離的架構設計 1) 前后端分離的應用實戰(zhàn) 案例:基于vue+springboot+mybatis的架構實踐 2) 數(shù)據(jù)接入的高可用設計實踐 案例:Nginx的高可用設計實踐 案例:F5+LVS多層負載均衡的設計實踐 案例:k8s接入層ingress的設計實踐 1000萬以上:讀寫分離的架構設計 案例:生產(chǎn)庫和基于生產(chǎn)庫微服務設計實踐 1. 數(shù)據(jù)庫的橫向縱向切分 1) 數(shù)據(jù)庫的縱向切分與微服務的設計 2) 數(shù)據(jù)庫的橫向切分與分布式數(shù)據(jù)庫 2. 分布式緩存的設計 3. 異步化操作與分布式隊列 4. NewSQL數(shù)據(jù)庫的原理與應用 案例:查詢庫和基于查詢庫微服務設計實踐 1. 讀寫分離后查詢庫的設計思路 1) 查詢庫“寬表”的設計思路與實踐 2) T+1模式與基于消息的實時數(shù)據(jù)同步 2. NoSQL數(shù)據(jù)庫的原理及其應用 億級流量的架構設計:通過分層實現(xiàn)逐級限流 1. SOA架構的設計局限 2. 高并發(fā)、高可用微服務的架構設計 1) 微服務的拆分原則與分布式云部署 2) 通過Kubernetes實現(xiàn)微服務的彈性擴容與高可用 3) 微服務的高可用措施:故障轉(zhuǎn)移、熔斷、降級、限流措施 |
第六章 物理架構設計與云部署 探討物理架構設計過程 1. 案例講解一些常見物理架構設計 2. 案例講解IT架構規(guī)劃與網(wǎng)絡部署 3. 案例講解一些技術方案的編寫 云原生(Cloud Native)的概念 1. 面向互聯(lián)網(wǎng)分布式系統(tǒng)運維的難點與痛點 2. 云原生=微服務+DevOps+持續(xù)交付+容器化bus 3. 云原生架構的核心思想與“12因素(12-Factors)” 4. 云原生的設計實現(xiàn):Kubernetes、微服務、服務網(wǎng)格 分布式云原生的自動化運維平臺 1.基于Jenkins與pipeline構建持續(xù)發(fā)布平臺 2.基于SonarQube與Jacoco構建質(zhì)量監(jiān)督平臺 3.基于Docker+Kubernetes構建容器化部署平臺 4.包含各種分布式緩存、分布式隊列、分布式事務的PaaS云平臺 5.基于NoSQL/NewSQL分布式數(shù)據(jù)庫的DaaS數(shù)據(jù)平臺 6.基于Skywalking的鏈路跟蹤與系統(tǒng)調(diào)優(yōu)平臺 7.基于Prometheus+Grafana的自動化監(jiān)控告警平臺 8.基于EFK的分布式日志監(jiān)控平臺 |