課程描述INTRODUCTION
· 研發(fā)經(jīng)理· 技術(shù)主管· 中層領(lǐng)導(dǎo)· 高層管理者
日程安排SCHEDULE
課程大綱Syllabus
分布式系統(tǒng)設(shè)計實踐課程
【課程背景】
隨著互聯(lián)網(wǎng)時代的到來,數(shù)據(jù)量急劇增加,并發(fā)量也越來越大,傳統(tǒng)的應(yīng)用訪問起來變得越來越緩慢?企業(yè)如何快速的找到應(yīng)用緩慢的根源并進(jìn)行快速的優(yōu)化?企業(yè)如何重新規(guī)劃和設(shè)計高可用高并發(fā)的分布式系統(tǒng)的架構(gòu)?
本課程圍繞實際的項目中遇到的各種瓶頸展開,一方面有針對性的分別從分布式系統(tǒng)中常用中間件、講解各類中間件的原理、應(yīng)用場景以及如何構(gòu)造高性能的大型的分布式的應(yīng)用系統(tǒng);另一方面,從數(shù)據(jù)庫層面如何應(yīng)對分布式系統(tǒng)下的擴(kuò)容;分別結(jié)合實際的技術(shù)與案例進(jìn)行講解,為技術(shù)團(tuán)隊提供優(yōu)秀的系統(tǒng)架構(gòu)設(shè)計思路和方案,有效提供學(xué)員在開發(fā)大型系統(tǒng)項目過程中應(yīng)具備的相關(guān)技能。
【課程收益】
了解分布式系統(tǒng)架構(gòu)演變過程
掌握分布式系統(tǒng)原理
掌握分布式系統(tǒng)技術(shù)實現(xiàn)
【課程對象】CTO、技術(shù)總監(jiān)、研發(fā)負(fù)責(zé)人、架構(gòu)師、研發(fā)工程師、售前技術(shù)工程師、運(yùn)維工程師
【課程大綱】
一、分布式系統(tǒng)架構(gòu)演變
1、分布式系統(tǒng)架構(gòu)演變歷程
Web動靜態(tài)資源分離
前端靜態(tài)資源緩存
本地數(shù)據(jù)緩存
應(yīng)用負(fù)載均衡
CDN
分布式緩存
數(shù)據(jù)庫讀寫分離
數(shù)據(jù)庫垂直分庫
數(shù)據(jù)庫水平分庫
分布式文件系統(tǒng)
案例:億級流量分布式架構(gòu)設(shè)計思路
二、分布式系統(tǒng)理論
1、CAP定理
分布式系統(tǒng)CAP定理的三個指標(biāo)
CAP定理三個指標(biāo)如何權(quán)衡和選擇
2、base理論
base理論詳解
base理論的定位
3、分布式系統(tǒng)面臨挑戰(zhàn)
分布式系統(tǒng)的目標(biāo)
分布式系統(tǒng)的基礎(chǔ)
單體垂直架構(gòu)如何改造為分布式架構(gòu)
分布式架構(gòu)會引入哪些難題?
分布式系統(tǒng)的挑戰(zhàn)
三、分布式系統(tǒng)之緩存
1、緩存
緩存的定義
緩存能解決什么問題?
緩存架構(gòu)之分布式緩存與集中式緩存
緩存的基本原則
分布式緩存的持久化
分布式緩存的高可用
分布式緩存的橫向擴(kuò)展
分布式緩存常見業(yè)務(wù)場景分析
多級緩存
2、分布式系統(tǒng)緩存之Redis
分布式緩存之Redis
Redis常用數(shù)據(jù)結(jié)構(gòu)及其應(yīng)用場景
Redis高級特性:發(fā)布/訂閱、過期設(shè)置、事務(wù)支持
Redis持久化策略之rdb與aof
Redis主從復(fù)制
Redis集群
Redis集群擴(kuò)容
實戰(zhàn):基于redis實現(xiàn)的緩存會話共享案例分析
實戰(zhàn):redis集群搭建與部署
實戰(zhàn):基于redis實現(xiàn)的熱數(shù)據(jù)緩存
實戰(zhàn):基于redis實現(xiàn)的分布式鎖
四、分布式系統(tǒng)之消息隊列
1、消息隊列
分布式系統(tǒng)之同步調(diào)用案例分析
分布式系統(tǒng)同步調(diào)用存在問題與優(yōu)化方向
消息隊列之分布式系統(tǒng)異步調(diào)用案例分析
消息隊列之削峰填谷案例分析
消息中間件選型與對比
消息隊列編程模型之點對點
消息隊列編程模型之發(fā)布/訂閱
案例:基于分布式消息隊列設(shè)計的千萬級賬單推送系統(tǒng)
實戰(zhàn):微服務(wù)架構(gòu)下基于消息隊列實現(xiàn)微服務(wù)間數(shù)據(jù)最終一致性
五、分布式系統(tǒng)之協(xié)調(diào)服務(wù)
1、分布式協(xié)調(diào)服務(wù)基礎(chǔ)
2、分布式協(xié)調(diào)中間件之ZooKeeper
ZooKeeper誕生的背景和它的作用
ZooKeeper單機(jī)版安裝、常用命令
ZooKeeper集群版的安裝、節(jié)點角色
ZooKeeper的接入和使用
ZooKeeper運(yùn)行機(jī)制剖析
ZooKeeper的典型應(yīng)用場景與實現(xiàn)思路
ZooKeeperWatch機(jī)制的運(yùn)行流程
案例:基于ZooKeeper實現(xiàn)的服務(wù)注冊與發(fā)現(xiàn)
七、分布式系統(tǒng)之日志中心系統(tǒng)
1、日志分析面臨問題
傳統(tǒng)日志系統(tǒng)存在問題分析
如何實現(xiàn)日志統(tǒng)一搜集、統(tǒng)一存儲、統(tǒng)一查詢?
2、日志中心解決方案ELK
ELK應(yīng)用案例分析
ELK核心組成
ELK之ElasticSearch
ELK之logstash
ELK之kibana
ELK之工作流程剖析
ELK常見應(yīng)用架構(gòu)
ELK典型應(yīng)用架構(gòu)
海量日志的ELK集群架構(gòu)
案例:基于ELK實現(xiàn)的訪問日志分析
八、分布式系統(tǒng)之分布式事務(wù)
1、分布式系統(tǒng)下數(shù)據(jù)庫面臨問題
本地事務(wù)VS分布式事務(wù)
二階段提交協(xié)議過程與原理分析
二階段提交協(xié)議的缺點
三階段提交
分布式事務(wù)的目標(biāo)
分布式事務(wù)之強(qiáng)一致性應(yīng)用場景
分布式事務(wù)之最終一致性應(yīng)用場景
2、分布式事務(wù)框架之Seata
分布式事務(wù)框架之Seata
Seata支持的4種模式
實戰(zhàn):微服務(wù)架構(gòu)下基于Seata的4種模式實現(xiàn)微服務(wù)間數(shù)據(jù)強(qiáng)一致性
九、分布式系統(tǒng)之?dāng)?shù)據(jù)庫層架構(gòu)設(shè)計
1、分布式系統(tǒng)下數(shù)據(jù)庫面臨問題
什么是分庫分表?
什么情況下需要分庫分表?
分庫分表之垂直分表
分庫分表之垂直分庫
分庫分表之水平分表
分庫分表之水平分庫分表
分庫分表帶來的問題-跨庫關(guān)聯(lián)查詢
分庫分表帶來的問題-分布式事務(wù)
分庫分表帶來的問題-排序翻頁函數(shù)計算
分庫分表帶來的問題-全局主鍵避重
如何選擇合適的數(shù)據(jù)分片鍵?分片鍵常用算法有哪些?
如何自定義分片鍵的算法?
2、分庫分表主流中間件之客戶端分庫分表ShardingJDBC
分庫分表主流中間件之客戶端分庫分表ShardingJDBC
ShardingJDBC對于現(xiàn)有應(yīng)用的SQL或ORM有什么要求或局限性?
分庫分表主流中間件之服務(wù)端分庫分表MyCat
分布式數(shù)據(jù)庫NoSQL
實戰(zhàn):基于ShardingJDBC實現(xiàn)的分庫分表之廣播表、綁定表方案
分布式系統(tǒng)設(shè)計實踐課程
轉(zhuǎn)載:http://santuchuan.cn/gkk_detail/297051.html
已開課時間Have start time
- 陳國星