課程簡介
本課程通過梳理,幫助學(xué)員理清,在大型分布式系統(tǒng)中如何運(yùn)用各種分布式技術(shù),解決什么問題。并且,本課程站在實(shí)戰(zhàn)的角度,演練以微服務(wù)為中心,合理運(yùn)用各種分布式技術(shù),是如何搭建高并發(fā)高可用的業(yè)務(wù)系統(tǒng)的。
目標(biāo)收益
培訓(xùn)對象
課程大綱
第一單元 高可用分布式架構(gòu)演化 |
什么是互聯(lián)網(wǎng)分布式系統(tǒng) 1. 互聯(lián)網(wǎng)架構(gòu)的特點(diǎn):高并發(fā)、大數(shù)據(jù)、高可用 2. 集中式系統(tǒng)在面對互聯(lián)網(wǎng)時的弊病 3. 分布式系統(tǒng)的概念及其優(yōu)勢 案例:講解某互聯(lián)網(wǎng)系統(tǒng)的架構(gòu)演進(jìn)過程 初始狀態(tài):All-in-One集中式架構(gòu)設(shè)計 1)多級集中式架構(gòu)及其弊病 2)CDN內(nèi)容分發(fā)網(wǎng)絡(luò)及其應(yīng)用 3)整潔架構(gòu)的設(shè)計實(shí)現(xiàn)與架構(gòu)規(guī)劃 1000萬以內(nèi):前后端分離的架構(gòu)設(shè)計 1)前后端分離的應(yīng)用實(shí)戰(zhàn) 案例:基于vue+springboot+mybatis的架構(gòu)實(shí)踐 2)數(shù)據(jù)接入的高可用設(shè)計實(shí)踐 案例:Nginx的高可用設(shè)計實(shí)踐 案例:F5+LVS多層負(fù)載均衡的設(shè)計實(shí)踐 案例:k8s接入層ingress的設(shè)計實(shí)踐 1000萬以上:讀寫分離的架構(gòu)設(shè)計 案例:生產(chǎn)庫和基于生產(chǎn)庫微服務(wù)設(shè)計實(shí)踐 1. 數(shù)據(jù)庫的橫向縱向切分 1)數(shù)據(jù)庫的縱向切分與微服務(wù)的設(shè)計 2)數(shù)據(jù)庫的橫向切分與分布式數(shù)據(jù)庫 2. 分布式緩存的設(shè)計 3. 異步化操作與分布式隊(duì)列 4. NewSQL數(shù)據(jù)庫的原理與應(yīng)用 案例:查詢庫和基于查詢庫微服務(wù)設(shè)計實(shí)踐 1. 讀寫分離后查詢庫的設(shè)計思路 1)查詢庫“寬表”的設(shè)計思路與實(shí)踐 2)T+1模式與基于消息的實(shí)時數(shù)據(jù)同步 2. NoSQL數(shù)據(jù)庫的原理及其應(yīng)用 億級流量的架構(gòu)設(shè)計:通過分層實(shí)現(xiàn)逐級限流 1. SOA架構(gòu)的設(shè)計局限 2. 高并發(fā)、高可用微服務(wù)的架構(gòu)設(shè)計 1)微服務(wù)的拆分原則與分布式云部署 2)通過Kubernetes實(shí)現(xiàn)微服務(wù)的彈性擴(kuò)容與高可用 3)微服務(wù)的高可用措施:故障轉(zhuǎn)移、熔斷、降級、限流措施 |
第二單元 分布式系統(tǒng)技術(shù)專題 |
分布式緩存的設(shè)計實(shí)踐 1. 本地緩存vs.分布式緩存 2. 分布式緩存設(shè)計原理與高可用設(shè)計 3. Redis分布式緩存的部署演練 4. Redis分布式緩存設(shè)計實(shí)踐 5. Redis分布式緩存設(shè)計應(yīng)注意的問題 實(shí)戰(zhàn)演練:微服務(wù)間解決跨庫關(guān)聯(lián)查詢的設(shè)計 1)分布式緩存Redis的運(yùn)行原理與設(shè)計實(shí)踐 2)分布式緩存Redis在分布式云端的搭建 3)基于數(shù)據(jù)補(bǔ)填的跨庫關(guān)聯(lián)查詢實(shí)踐 內(nèi)存數(shù)據(jù)庫的設(shè)計實(shí)踐 1. 內(nèi)存數(shù)據(jù)庫運(yùn)行原理 2. 內(nèi)存數(shù)據(jù)庫設(shè)計選型 3. Redis內(nèi)存數(shù)據(jù)庫設(shè)計實(shí)踐 1)內(nèi)存數(shù)據(jù)庫+異步化技術(shù)方案 2)京東訂單系統(tǒng)的優(yōu)化過程 分布式事務(wù)的設(shè)計實(shí)踐 1. 分布式事務(wù)的兩階段提交 2. TCC方案 1)TCC方案設(shè)計原理 2)阿里的Seata與GTS 3)TCC方案的設(shè)計實(shí)現(xiàn) 實(shí)戰(zhàn)演練:運(yùn)用Seata實(shí)現(xiàn)微服務(wù)的分布式事務(wù) 1)搭建分布式事務(wù)組件Seata 2)分布式事務(wù):下單→支付→庫存扣減 3)演練事務(wù)失敗后的事務(wù)補(bǔ)償 3. 基于消息的分布式事務(wù) 1)基于消息的最終一致性 2)設(shè)計實(shí)踐及其存在的問題 3)基于半消息的設(shè)計實(shí)踐 4) 基于消息表的設(shè)計方案 實(shí)戰(zhàn)演練:基于消息實(shí)現(xiàn)微服務(wù)的分布式事務(wù) 1)分布式消息隊(duì)列:RabbitMQ, RocketMQ, Kafka 2)領(lǐng)域事件通知:Spring Cloud Stream 3)案例:電商網(wǎng)站下單服務(wù)的設(shè)計 分布式消息隊(duì)列的設(shè)計實(shí)踐 1. 異步化操作與分布式消息隊(duì)列 2. RabbitMQ, RocketMQ, ActiveMQ與kafka的比較 3. RabbitMQ的部署演練與設(shè)計實(shí)踐 4. RocketMQ的部署演練與設(shè)計實(shí)踐 5. Kafka的部署演練與設(shè)計實(shí)踐 分布式數(shù)據(jù)庫的設(shè)計實(shí)踐 1. RDBMS→NewSQL→NoSQL 2. 分布式存儲CAP理論 3. NoSQL數(shù)據(jù)庫及其原理 4. 如何實(shí)現(xiàn)高并發(fā)大數(shù)據(jù)查詢場景 實(shí)戰(zhàn)演練:運(yùn)用NoSQL數(shù)據(jù)庫實(shí)現(xiàn)海量訂單數(shù)據(jù)的實(shí)時跟蹤 1)ElasticSearch的運(yùn)行原理與設(shè)計實(shí)踐 2)ElasticSearch在分布式云端的搭建 5. NewSQL數(shù)據(jù)庫及其原理 6. 高并發(fā)寫入的分布式設(shè)計方案 實(shí)戰(zhàn)演練:訂單系統(tǒng)的分布式存儲 1)微服務(wù)的去中心化數(shù)據(jù)管理的設(shè)計演練 2)NewSQL數(shù)據(jù)庫Tidb的運(yùn)行原理 3)Tidb數(shù)據(jù)庫在訂單系統(tǒng)的設(shè)計實(shí)踐 |
第三單元 分布式云原生實(shí)戰(zhàn)演練 |
云原生(Cloud Native)的概念 1. 面向互聯(lián)網(wǎng)分布式系統(tǒng)運(yùn)維的難點(diǎn)與痛點(diǎn) 2. 云原生=微服務(wù)+DevOps+持續(xù)交付+容器化 3. 云原生架構(gòu)的核心思想與“12因素(12-Factors)” 4. 云原生的設(shè)計實(shí)現(xiàn):Kubernetes、微服務(wù)、服務(wù)網(wǎng)格 構(gòu)建分布式云原生架構(gòu)的思路 1.微服務(wù)架構(gòu)的彈性可擴(kuò)容設(shè)計需求 2.分布式架構(gòu)的有狀態(tài)應(yīng)用與無狀態(tài)應(yīng)用 3.構(gòu)建基于DevOps的自動化發(fā)布平臺 4.構(gòu)建基于云原生的自動化運(yùn)維平臺 分布式云原生的自動化運(yùn)維平臺 1.基于Jenkins與pipeline構(gòu)建持續(xù)發(fā)布平臺 2.基于SonarQube與Jacoco構(gòu)建質(zhì)量監(jiān)督平臺 3.基于Docker+Kubernetes構(gòu)建容器化部署平臺 4.包含各種分布式緩存、分布式隊(duì)列、分布式事務(wù)的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)控平臺 實(shí)戰(zhàn)演練:微服務(wù)系統(tǒng)的分布式云原生部署演練 1.基于Kubernetes的微服務(wù)容器部署 2.基于Ingress的高可用流量入口 3.運(yùn)用Seata實(shí)現(xiàn)微服務(wù)的分布式事務(wù) 4.運(yùn)用分布式緩存實(shí)現(xiàn)跨庫的數(shù)據(jù)查詢 5.基于Springcloud Stream實(shí)現(xiàn)消息隊(duì)列的異步化設(shè)計 6.微服務(wù)的去中心化數(shù)據(jù)管理 7.運(yùn)用NoSQL數(shù)據(jù)庫實(shí)現(xiàn)海量訂單數(shù)據(jù)的實(shí)時跟蹤 |
第一單元 高可用分布式架構(gòu)演化 什么是互聯(lián)網(wǎng)分布式系統(tǒng) 1. 互聯(lián)網(wǎng)架構(gòu)的特點(diǎn):高并發(fā)、大數(shù)據(jù)、高可用 2. 集中式系統(tǒng)在面對互聯(lián)網(wǎng)時的弊病 3. 分布式系統(tǒng)的概念及其優(yōu)勢 案例:講解某互聯(lián)網(wǎng)系統(tǒng)的架構(gòu)演進(jìn)過程 初始狀態(tài):All-in-One集中式架構(gòu)設(shè)計 1)多級集中式架構(gòu)及其弊病 2)CDN內(nèi)容分發(fā)網(wǎng)絡(luò)及其應(yīng)用 3)整潔架構(gòu)的設(shè)計實(shí)現(xiàn)與架構(gòu)規(guī)劃 1000萬以內(nèi):前后端分離的架構(gòu)設(shè)計 1)前后端分離的應(yīng)用實(shí)戰(zhàn) 案例:基于vue+springboot+mybatis的架構(gòu)實(shí)踐 2)數(shù)據(jù)接入的高可用設(shè)計實(shí)踐 案例:Nginx的高可用設(shè)計實(shí)踐 案例:F5+LVS多層負(fù)載均衡的設(shè)計實(shí)踐 案例:k8s接入層ingress的設(shè)計實(shí)踐 1000萬以上:讀寫分離的架構(gòu)設(shè)計 案例:生產(chǎn)庫和基于生產(chǎn)庫微服務(wù)設(shè)計實(shí)踐 1. 數(shù)據(jù)庫的橫向縱向切分 1)數(shù)據(jù)庫的縱向切分與微服務(wù)的設(shè)計 2)數(shù)據(jù)庫的橫向切分與分布式數(shù)據(jù)庫 2. 分布式緩存的設(shè)計 3. 異步化操作與分布式隊(duì)列 4. NewSQL數(shù)據(jù)庫的原理與應(yīng)用 案例:查詢庫和基于查詢庫微服務(wù)設(shè)計實(shí)踐 1. 讀寫分離后查詢庫的設(shè)計思路 1)查詢庫“寬表”的設(shè)計思路與實(shí)踐 2)T+1模式與基于消息的實(shí)時數(shù)據(jù)同步 2. NoSQL數(shù)據(jù)庫的原理及其應(yīng)用 億級流量的架構(gòu)設(shè)計:通過分層實(shí)現(xiàn)逐級限流 1. SOA架構(gòu)的設(shè)計局限 2. 高并發(fā)、高可用微服務(wù)的架構(gòu)設(shè)計 1)微服務(wù)的拆分原則與分布式云部署 2)通過Kubernetes實(shí)現(xiàn)微服務(wù)的彈性擴(kuò)容與高可用 3)微服務(wù)的高可用措施:故障轉(zhuǎn)移、熔斷、降級、限流措施 |
第二單元 分布式系統(tǒng)技術(shù)專題 分布式緩存的設(shè)計實(shí)踐 1. 本地緩存vs.分布式緩存 2. 分布式緩存設(shè)計原理與高可用設(shè)計 3. Redis分布式緩存的部署演練 4. Redis分布式緩存設(shè)計實(shí)踐 5. Redis分布式緩存設(shè)計應(yīng)注意的問題 實(shí)戰(zhàn)演練:微服務(wù)間解決跨庫關(guān)聯(lián)查詢的設(shè)計 1)分布式緩存Redis的運(yùn)行原理與設(shè)計實(shí)踐 2)分布式緩存Redis在分布式云端的搭建 3)基于數(shù)據(jù)補(bǔ)填的跨庫關(guān)聯(lián)查詢實(shí)踐 內(nèi)存數(shù)據(jù)庫的設(shè)計實(shí)踐 1. 內(nèi)存數(shù)據(jù)庫運(yùn)行原理 2. 內(nèi)存數(shù)據(jù)庫設(shè)計選型 3. Redis內(nèi)存數(shù)據(jù)庫設(shè)計實(shí)踐 1)內(nèi)存數(shù)據(jù)庫+異步化技術(shù)方案 2)京東訂單系統(tǒng)的優(yōu)化過程 分布式事務(wù)的設(shè)計實(shí)踐 1. 分布式事務(wù)的兩階段提交 2. TCC方案 1)TCC方案設(shè)計原理 2)阿里的Seata與GTS 3)TCC方案的設(shè)計實(shí)現(xiàn) 實(shí)戰(zhàn)演練:運(yùn)用Seata實(shí)現(xiàn)微服務(wù)的分布式事務(wù) 1)搭建分布式事務(wù)組件Seata 2)分布式事務(wù):下單→支付→庫存扣減 3)演練事務(wù)失敗后的事務(wù)補(bǔ)償 3. 基于消息的分布式事務(wù) 1)基于消息的最終一致性 2)設(shè)計實(shí)踐及其存在的問題 3)基于半消息的設(shè)計實(shí)踐 4) 基于消息表的設(shè)計方案 實(shí)戰(zhàn)演練:基于消息實(shí)現(xiàn)微服務(wù)的分布式事務(wù) 1)分布式消息隊(duì)列:RabbitMQ, RocketMQ, Kafka 2)領(lǐng)域事件通知:Spring Cloud Stream 3)案例:電商網(wǎng)站下單服務(wù)的設(shè)計 分布式消息隊(duì)列的設(shè)計實(shí)踐 1. 異步化操作與分布式消息隊(duì)列 2. RabbitMQ, RocketMQ, ActiveMQ與kafka的比較 3. RabbitMQ的部署演練與設(shè)計實(shí)踐 4. RocketMQ的部署演練與設(shè)計實(shí)踐 5. Kafka的部署演練與設(shè)計實(shí)踐 分布式數(shù)據(jù)庫的設(shè)計實(shí)踐 1. RDBMS→NewSQL→NoSQL 2. 分布式存儲CAP理論 3. NoSQL數(shù)據(jù)庫及其原理 4. 如何實(shí)現(xiàn)高并發(fā)大數(shù)據(jù)查詢場景 實(shí)戰(zhàn)演練:運(yùn)用NoSQL數(shù)據(jù)庫實(shí)現(xiàn)海量訂單數(shù)據(jù)的實(shí)時跟蹤 1)ElasticSearch的運(yùn)行原理與設(shè)計實(shí)踐 2)ElasticSearch在分布式云端的搭建 5. NewSQL數(shù)據(jù)庫及其原理 6. 高并發(fā)寫入的分布式設(shè)計方案 實(shí)戰(zhàn)演練:訂單系統(tǒng)的分布式存儲 1)微服務(wù)的去中心化數(shù)據(jù)管理的設(shè)計演練 2)NewSQL數(shù)據(jù)庫Tidb的運(yùn)行原理 3)Tidb數(shù)據(jù)庫在訂單系統(tǒng)的設(shè)計實(shí)踐 |
第三單元 分布式云原生實(shí)戰(zhàn)演練 云原生(Cloud Native)的概念 1. 面向互聯(lián)網(wǎng)分布式系統(tǒng)運(yùn)維的難點(diǎn)與痛點(diǎn) 2. 云原生=微服務(wù)+DevOps+持續(xù)交付+容器化 3. 云原生架構(gòu)的核心思想與“12因素(12-Factors)” 4. 云原生的設(shè)計實(shí)現(xiàn):Kubernetes、微服務(wù)、服務(wù)網(wǎng)格 構(gòu)建分布式云原生架構(gòu)的思路 1.微服務(wù)架構(gòu)的彈性可擴(kuò)容設(shè)計需求 2.分布式架構(gòu)的有狀態(tài)應(yīng)用與無狀態(tài)應(yīng)用 3.構(gòu)建基于DevOps的自動化發(fā)布平臺 4.構(gòu)建基于云原生的自動化運(yùn)維平臺 分布式云原生的自動化運(yùn)維平臺 1.基于Jenkins與pipeline構(gòu)建持續(xù)發(fā)布平臺 2.基于SonarQube與Jacoco構(gòu)建質(zhì)量監(jiān)督平臺 3.基于Docker+Kubernetes構(gòu)建容器化部署平臺 4.包含各種分布式緩存、分布式隊(duì)列、分布式事務(wù)的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)控平臺 實(shí)戰(zhàn)演練:微服務(wù)系統(tǒng)的分布式云原生部署演練 1.基于Kubernetes的微服務(wù)容器部署 2.基于Ingress的高可用流量入口 3.運(yùn)用Seata實(shí)現(xiàn)微服務(wù)的分布式事務(wù) 4.運(yùn)用分布式緩存實(shí)現(xiàn)跨庫的數(shù)據(jù)查詢 5.基于Springcloud Stream實(shí)現(xiàn)消息隊(duì)列的異步化設(shè)計 6.微服務(wù)的去中心化數(shù)據(jù)管理 7.運(yùn)用NoSQL數(shù)據(jù)庫實(shí)現(xiàn)海量訂單數(shù)據(jù)的實(shí)時跟蹤 |