課程簡介
課程通過梳理,幫助學員理清,在大型分布式系統(tǒng)中如何運用各種分布式技術,解決什么問題。并且,本課程站在實戰(zhàn)的角度,演練以微服務為中心,合理運用各種分布式技術,是如何搭建高并發(fā)高可用的業(yè)務系統(tǒng)的。
目標收益
培訓對象
課程大綱
第一單元 高可用分布式架構演化 |
什么是互聯(lián)網(wǎng)分布式系統(tǒng) 1. 互聯(lián)網(wǎng)架構的特點:高并發(fā)、大數(shù)據(jù)、高可用 2. 集中式系統(tǒng)在面對互聯(lián)網(wǎng)時的弊病 3. 分布式系統(tǒng)的概念及其優(yōu)勢 案例:講解某互聯(lián)網(wǎng)系統(tǒng)的架構演進過程 初始狀態(tài):All-in-One集中式架構設計 1)多級集中式架構及其弊病 2)CDN內容分發(fā)網(wǎng)絡及其應用 3)整潔架構的設計實現(xiàn)與架構規(guī)劃 1000萬以內:前后端分離的架構設計 1)前后端分離的應用實戰(zhàn) 案例:基于vue+springboot+mybatis的架構實踐 2)數(shù)據(jù)接入的高可用設計實踐 案例:Nginx的高可用設計實踐 案例:F5+LVS多層負載均衡的設計實踐 案例:k8s接入層ingress的設計實踐 1000萬以上:讀寫分離的架構設計 案例:生產庫和基于生產庫微服務設計實踐 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)微服務的高可用措施:故障轉移、熔斷、降級、限流措施 |
第二單元 分布式系統(tǒng)技術專題 |
分布式緩存的設計實踐 1. 本地緩存vs.分布式緩存 2. 分布式緩存設計原理與高可用設計 3. Redis分布式緩存的部署演練 4. Redis分布式緩存設計實踐 5. Redis分布式緩存設計應注意的問題 實戰(zhàn)演練:微服務間解決跨庫關聯(lián)查詢的設計 1)分布式緩存Redis的運行原理與設計實踐 2)分布式緩存Redis在分布式云端的搭建 3)基于數(shù)據(jù)補填的跨庫關聯(lián)查詢實踐 內存數(shù)據(jù)庫的設計實踐 1. 內存數(shù)據(jù)庫運行原理 2. 內存數(shù)據(jù)庫設計選型 3. Redis內存數(shù)據(jù)庫設計實踐 1)內存數(shù)據(jù)庫+異步化技術方案 2)京東訂單系統(tǒng)的優(yōu)化過程 分布式事務的設計實踐 1. 分布式事務的兩階段提交 2. TCC方案 1)TCC方案設計原理 2)阿里的Seata與GTS 3)TCC方案的設計實現(xiàn) 實戰(zhàn)演練:運用Seata實現(xiàn)微服務的分布式事務 1)搭建分布式事務組件Seata 2)分布式事務:下單→支付→庫存扣減 3)演練事務失敗后的事務補償 3. 基于消息的分布式事務 1)基于消息的最終一致性 2)設計實踐及其存在的問題 3)基于半消息的設計實踐 4) 基于消息表的設計方案 實戰(zhàn)演練:基于消息實現(xiàn)微服務的分布式事務 1)分布式消息隊列:RabbitMQ, RocketMQ, Kafka 2)領域事件通知:Spring Cloud Stream 3)案例:電商網(wǎng)站下單服務的設計 分布式消息隊列的設計實踐 1. 異步化操作與分布式消息隊列 2. RabbitMQ, RocketMQ, ActiveMQ與kafka的比較 3. RabbitMQ的部署演練與設計實踐 4. RocketMQ的部署演練與設計實踐 5. Kafka的部署演練與設計實踐 分布式數(shù)據(jù)庫的設計實踐 1. RDBMS→NewSQL→NoSQL 2. 分布式存儲CAP理論 3. NoSQL數(shù)據(jù)庫及其原理 4. 如何實現(xiàn)高并發(fā)大數(shù)據(jù)查詢場景 實戰(zhàn)演練:運用NoSQL數(shù)據(jù)庫實現(xiàn)海量訂單數(shù)據(jù)的實時跟蹤 1)ElasticSearch的運行原理與設計實踐 2)ElasticSearch在分布式云端的搭建 5. NewSQL數(shù)據(jù)庫及其原理 6. 高并發(fā)寫入的分布式設計方案 實戰(zhàn)演練:訂單系統(tǒng)的分布式存儲 1)微服務的去中心化數(shù)據(jù)管理的設計演練 2)NewSQL數(shù)據(jù)庫Tidb的運行原理 3)Tidb數(shù)據(jù)庫在訂單系統(tǒng)的設計實踐 |
第一單元 高可用分布式架構演化 什么是互聯(lián)網(wǎng)分布式系統(tǒng) 1. 互聯(lián)網(wǎng)架構的特點:高并發(fā)、大數(shù)據(jù)、高可用 2. 集中式系統(tǒng)在面對互聯(lián)網(wǎng)時的弊病 3. 分布式系統(tǒng)的概念及其優(yōu)勢 案例:講解某互聯(lián)網(wǎng)系統(tǒng)的架構演進過程 初始狀態(tài):All-in-One集中式架構設計 1)多級集中式架構及其弊病 2)CDN內容分發(fā)網(wǎng)絡及其應用 3)整潔架構的設計實現(xiàn)與架構規(guī)劃 1000萬以內:前后端分離的架構設計 1)前后端分離的應用實戰(zhàn) 案例:基于vue+springboot+mybatis的架構實踐 2)數(shù)據(jù)接入的高可用設計實踐 案例:Nginx的高可用設計實踐 案例:F5+LVS多層負載均衡的設計實踐 案例:k8s接入層ingress的設計實踐 1000萬以上:讀寫分離的架構設計 案例:生產庫和基于生產庫微服務設計實踐 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)微服務的高可用措施:故障轉移、熔斷、降級、限流措施 |
第二單元 分布式系統(tǒng)技術專題 分布式緩存的設計實踐 1. 本地緩存vs.分布式緩存 2. 分布式緩存設計原理與高可用設計 3. Redis分布式緩存的部署演練 4. Redis分布式緩存設計實踐 5. Redis分布式緩存設計應注意的問題 實戰(zhàn)演練:微服務間解決跨庫關聯(lián)查詢的設計 1)分布式緩存Redis的運行原理與設計實踐 2)分布式緩存Redis在分布式云端的搭建 3)基于數(shù)據(jù)補填的跨庫關聯(lián)查詢實踐 內存數(shù)據(jù)庫的設計實踐 1. 內存數(shù)據(jù)庫運行原理 2. 內存數(shù)據(jù)庫設計選型 3. Redis內存數(shù)據(jù)庫設計實踐 1)內存數(shù)據(jù)庫+異步化技術方案 2)京東訂單系統(tǒng)的優(yōu)化過程 分布式事務的設計實踐 1. 分布式事務的兩階段提交 2. TCC方案 1)TCC方案設計原理 2)阿里的Seata與GTS 3)TCC方案的設計實現(xiàn) 實戰(zhàn)演練:運用Seata實現(xiàn)微服務的分布式事務 1)搭建分布式事務組件Seata 2)分布式事務:下單→支付→庫存扣減 3)演練事務失敗后的事務補償 3. 基于消息的分布式事務 1)基于消息的最終一致性 2)設計實踐及其存在的問題 3)基于半消息的設計實踐 4) 基于消息表的設計方案 實戰(zhàn)演練:基于消息實現(xiàn)微服務的分布式事務 1)分布式消息隊列:RabbitMQ, RocketMQ, Kafka 2)領域事件通知:Spring Cloud Stream 3)案例:電商網(wǎng)站下單服務的設計 分布式消息隊列的設計實踐 1. 異步化操作與分布式消息隊列 2. RabbitMQ, RocketMQ, ActiveMQ與kafka的比較 3. RabbitMQ的部署演練與設計實踐 4. RocketMQ的部署演練與設計實踐 5. Kafka的部署演練與設計實踐 分布式數(shù)據(jù)庫的設計實踐 1. RDBMS→NewSQL→NoSQL 2. 分布式存儲CAP理論 3. NoSQL數(shù)據(jù)庫及其原理 4. 如何實現(xiàn)高并發(fā)大數(shù)據(jù)查詢場景 實戰(zhàn)演練:運用NoSQL數(shù)據(jù)庫實現(xiàn)海量訂單數(shù)據(jù)的實時跟蹤 1)ElasticSearch的運行原理與設計實踐 2)ElasticSearch在分布式云端的搭建 5. NewSQL數(shù)據(jù)庫及其原理 6. 高并發(fā)寫入的分布式設計方案 實戰(zhàn)演練:訂單系統(tǒng)的分布式存儲 1)微服務的去中心化數(shù)據(jù)管理的設計演練 2)NewSQL數(shù)據(jù)庫Tidb的運行原理 3)Tidb數(shù)據(jù)庫在訂單系統(tǒng)的設計實踐 |