課程簡(jiǎn)介
互聯(lián)網(wǎng)架構(gòu)師應(yīng)對(duì)如今的高并發(fā)要具備哪些能力?分布式架構(gòu)理論,流量從小到大典型站點(diǎn)系統(tǒng)架構(gòu)遇到的問(wèn)題及解決方案,大數(shù)據(jù)量下數(shù)據(jù)的高可用架構(gòu)設(shè)計(jì),與高可用架構(gòu)設(shè)計(jì)的常見(jiàn)準(zhǔn)則。
目標(biāo)收益
通過(guò)本課程,學(xué)員能夠真實(shí)掌握互聯(lián)網(wǎng)高可用架構(gòu)設(shè)計(jì)過(guò)程中所遇問(wèn)題的歸納、分析與總結(jié),并有針對(duì)性的給出解決方法,課程將重現(xiàn)這些問(wèn)題的場(chǎng)景,通過(guò)實(shí)例講解,并對(duì)應(yīng)到學(xué)員的實(shí)際工作問(wèn)題,有效的啟發(fā)思路、激發(fā)興趣、掌握解決問(wèn)題的基本方法。
培訓(xùn)對(duì)象
各類(lèi)互聯(lián)網(wǎng)/IT/軟件企業(yè)和研發(fā)機(jī)構(gòu)的軟件架構(gòu)師、軟件設(shè)計(jì)師、程序員。對(duì)于有明確互聯(lián)網(wǎng)產(chǎn)品業(yè)務(wù)需求的個(gè)人和團(tuán)隊(duì),效果更佳。
課程大綱
一、好玩分布式理論與實(shí)踐 |
(1)分布式系統(tǒng)概念 (2)原理一:FLP不可能原理 2.1)FLP不可能原理的概念 2.2)FLP不可能原理的工程意義 (3)分布式id生成器 3.1)數(shù)據(jù)庫(kù)自增id生成法 3.2)單點(diǎn)服務(wù)法 3.3)uuid法 3.4)時(shí)間標(biāo)識(shí)法 3.5)類(lèi)snowflake算法 (4)如何測(cè)量服務(wù)器之間的時(shí)間差 (5)原理二:SMC原理 5.1)SMC原理的概念 5.2)SMC原理的工程意義 (6)消息的可靠投遞 6.1)通用消息投遞流程 6.2)通用消息投遞流程的缺陷 6.3)如何保證消息的不丟失 6.4)如何保證消息的不重復(fù) (7)原理三:CAP原理 7.1)CAP原理的概念 7.2)CAP原理的證明 7.3)CAP原理的工程意義 7.4)一致性模型及工程實(shí)踐 7.5)2PC簡(jiǎn)介 (8)CAP原理實(shí)踐 8.1)如何預(yù)防“讀寫(xiě)事務(wù)”的死鎖 8.2)如何保證“查詢(xún)修改事務(wù)”的一致性 8.3)如何實(shí)現(xiàn)無(wú)鎖KV緩存 8.4)如何快速實(shí)現(xiàn)簡(jiǎn)單的偽分布式事務(wù) |
二、站點(diǎn)架構(gòu)流量從1到10億 |
(1)小流量站點(diǎn)架構(gòu)與最佳實(shí)踐 1.1)小流量站點(diǎn)業(yè)務(wù)需求分析 1.2)小流量站點(diǎn)架構(gòu)抽象 1.3)小流量站點(diǎn)架構(gòu)選型 1.4)LAMP的優(yōu)勢(shì)與建議 1.5)小流量站點(diǎn)核心矛盾分析 1.6)DAO與ORM優(yōu)化 (2)中等規(guī)模站點(diǎn)架構(gòu)與最佳實(shí)踐 2.1)中等規(guī)模站點(diǎn)業(yè)務(wù)需求分析 2.2)中等規(guī)模站點(diǎn)架構(gòu)抽象 2.3)中等規(guī)模站點(diǎn)架構(gòu)選型 2.4)分布式架構(gòu) 2.5)動(dòng)靜分離技術(shù) 2.6)主從同步與讀寫(xiě)分離技術(shù) 2.7)負(fù)載均衡與DNS輪詢(xún)技術(shù) 2.8)中等規(guī)模站點(diǎn)核心矛盾分析 2.9)業(yè)務(wù)/數(shù)據(jù)/代碼垂直拆分技術(shù) 2.10)CDN與靜態(tài)加速技術(shù) (3)大流量站點(diǎn)架構(gòu)與最佳實(shí)踐 3.1)大流量站點(diǎn)業(yè)務(wù)需求分析 3.2)大流量站點(diǎn)架構(gòu)抽象 3.3)大流量站點(diǎn)架構(gòu)選型 3.4)性能與成本的技術(shù)轉(zhuǎn)型建議 3.5)大流量站點(diǎn)核心矛盾分析 3.6)深度分層架構(gòu)設(shè)計(jì) 3.7)水平拆分技術(shù) 3.8)服務(wù)化實(shí)踐 3.9)反向代理技術(shù) 3.10)可用性技術(shù) 3.11)框架抽象技術(shù) 3.12)實(shí)時(shí)化技術(shù) (4)超大流量站點(diǎn)架構(gòu)與最佳實(shí)踐 4.1)大流量站點(diǎn)業(yè)務(wù)需求分析 4.2)大流量站點(diǎn)架構(gòu)抽象 4.3)大流量站點(diǎn)架構(gòu)選型 4.4)大流量站點(diǎn)核心矛盾分析 4.5)架構(gòu)蜘蛛網(wǎng)解耦方案 4.6)配置中心技術(shù)分析 4.7)消息總線(xiàn)的適用場(chǎng)景 4.8)柔性服務(wù)技術(shù) 4.9)服務(wù)治理簡(jiǎn)介 4.10)中間件技術(shù) 4.11)自動(dòng)化方向 4.12)產(chǎn)品智能化方向 (5)未來(lái)的挑戰(zhàn) 5.1)無(wú)線(xiàn)化的架構(gòu)的挑戰(zhàn) 5.2)大數(shù)據(jù)實(shí)時(shí)計(jì)算的挑戰(zhàn) 5.3)多機(jī)房多活的挑戰(zhàn) 5.4)多架構(gòu)模式 5.5)自動(dòng)化的未來(lái) |
三、大數(shù)據(jù)時(shí)代的數(shù)據(jù)庫(kù)軟件架構(gòu)設(shè)計(jì)與實(shí)踐 |
(1)數(shù)據(jù)庫(kù)設(shè)計(jì)基本概念 (2)數(shù)據(jù)庫(kù)架構(gòu)-可用性設(shè)計(jì)與實(shí)踐 2.1)讀高可用設(shè)計(jì) 2.2)寫(xiě)高可用設(shè)計(jì) 2.3)實(shí)戰(zhàn)解決方案 (3)數(shù)據(jù)庫(kù)架構(gòu)-讀性能設(shè)計(jì)與實(shí)踐 3.1)索引提速設(shè)計(jì) 3.2)從庫(kù)擴(kuò)容設(shè)計(jì) 3.3)緩存擴(kuò)容設(shè)計(jì) (4)數(shù)據(jù)庫(kù)架構(gòu)-一致性設(shè)計(jì)與實(shí)踐 4.1)主從不一致解決方案 4.2)緩存不一致解決方案 (5)數(shù)據(jù)庫(kù)架構(gòu)-擴(kuò)展性設(shè)計(jì)與實(shí)踐 5.1)秒級(jí)擴(kuò)容方案 5.2)字段擴(kuò)展方案 5.3)數(shù)據(jù)遷移方案 (6)數(shù)據(jù)庫(kù)架構(gòu)-水平切分設(shè)計(jì)與實(shí)踐 6.1)“單Key型”表結(jié)構(gòu)水平切分 6.2)“1對(duì)多型”表結(jié)構(gòu)水平切分 6.3)“多對(duì)多型”表結(jié)構(gòu)水平切分 6.4)“多Key型”表結(jié)構(gòu)水平切分 (7)數(shù)據(jù)庫(kù)中間件與分庫(kù)SQL實(shí)戰(zhàn) 7.1)IN語(yǔ)句的玩法 7.2)非patition key上的SQL玩法 7.3)夸庫(kù)分頁(yè)的玩法 |
四、分布式系統(tǒng)通用設(shè)計(jì)準(zhǔn)則 |
(1)系統(tǒng)拆分準(zhǔn)則 1.1)系統(tǒng)拆分業(yè)務(wù)舉例 1.2)系統(tǒng)拆分方法論 1.3)自頂向下逐層分解的設(shè)計(jì)實(shí)踐 (2)災(zāi)備準(zhǔn)則 2.1)機(jī)房?jī)?nèi)故障可用性設(shè)計(jì) 2.2)機(jī)房故障可用性設(shè)計(jì) 2.3)災(zāi)備常見(jiàn)實(shí)踐 2.4)過(guò)載保護(hù)算法 2.5)異構(gòu)服務(wù)器的負(fù)載均衡 (3)水平擴(kuò)展準(zhǔn)則 3.1)接入層水平擴(kuò)展設(shè)計(jì) 3.2)邏輯層水平擴(kuò)展設(shè)計(jì) 3.3)數(shù)據(jù)層水平擴(kuò)展設(shè)計(jì) (4)限流準(zhǔn)則 4.1)賬戶(hù)級(jí)限流設(shè)計(jì) 4.2)ip級(jí)限流設(shè)計(jì) 4.3)調(diào)用級(jí)限流設(shè)計(jì) 4.4)流量的區(qū)分 (5)降級(jí)原則 5.1)系統(tǒng)降級(jí) 5.2)業(yè)務(wù)降級(jí) (6)異步原則 6.1)業(yè)務(wù)異步設(shè)計(jì) 6.2)消息總線(xiàn)的異步作用 6.3)站點(diǎn)線(xiàn)程模型的最大問(wèn)題 6.4)異步服務(wù)模型框架 (7)分離原則 7.1)讀寫(xiě)分離技術(shù) 7.2)動(dòng)靜分離技術(shù) 7.3)線(xiàn)上訪(fǎng)問(wèn)與后臺(tái)訪(fǎng)問(wèn)分離 7.4)在線(xiàn)訪(fǎng)問(wèn)與離線(xiàn)訪(fǎng)問(wèn)分離 (8)監(jiān)控原則 8.1)服務(wù)器監(jiān)控技術(shù) 8.2)服務(wù)存活性監(jiān)控技術(shù) 8.3)日志監(jiān)控 8.4)接口監(jiān)控 8.5)語(yǔ)義監(jiān)控 |
五、大作業(yè)實(shí)戰(zhàn) | (1)秒殺系統(tǒng)設(shè)計(jì)實(shí)戰(zhàn) |
一、好玩分布式理論與實(shí)踐 (1)分布式系統(tǒng)概念 (2)原理一:FLP不可能原理 2.1)FLP不可能原理的概念 2.2)FLP不可能原理的工程意義 (3)分布式id生成器 3.1)數(shù)據(jù)庫(kù)自增id生成法 3.2)單點(diǎn)服務(wù)法 3.3)uuid法 3.4)時(shí)間標(biāo)識(shí)法 3.5)類(lèi)snowflake算法 (4)如何測(cè)量服務(wù)器之間的時(shí)間差 (5)原理二:SMC原理 5.1)SMC原理的概念 5.2)SMC原理的工程意義 (6)消息的可靠投遞 6.1)通用消息投遞流程 6.2)通用消息投遞流程的缺陷 6.3)如何保證消息的不丟失 6.4)如何保證消息的不重復(fù) (7)原理三:CAP原理 7.1)CAP原理的概念 7.2)CAP原理的證明 7.3)CAP原理的工程意義 7.4)一致性模型及工程實(shí)踐 7.5)2PC簡(jiǎn)介 (8)CAP原理實(shí)踐 8.1)如何預(yù)防“讀寫(xiě)事務(wù)”的死鎖 8.2)如何保證“查詢(xún)修改事務(wù)”的一致性 8.3)如何實(shí)現(xiàn)無(wú)鎖KV緩存 8.4)如何快速實(shí)現(xiàn)簡(jiǎn)單的偽分布式事務(wù) |
二、站點(diǎn)架構(gòu)流量從1到10億 (1)小流量站點(diǎn)架構(gòu)與最佳實(shí)踐 1.1)小流量站點(diǎn)業(yè)務(wù)需求分析 1.2)小流量站點(diǎn)架構(gòu)抽象 1.3)小流量站點(diǎn)架構(gòu)選型 1.4)LAMP的優(yōu)勢(shì)與建議 1.5)小流量站點(diǎn)核心矛盾分析 1.6)DAO與ORM優(yōu)化 (2)中等規(guī)模站點(diǎn)架構(gòu)與最佳實(shí)踐 2.1)中等規(guī)模站點(diǎn)業(yè)務(wù)需求分析 2.2)中等規(guī)模站點(diǎn)架構(gòu)抽象 2.3)中等規(guī)模站點(diǎn)架構(gòu)選型 2.4)分布式架構(gòu) 2.5)動(dòng)靜分離技術(shù) 2.6)主從同步與讀寫(xiě)分離技術(shù) 2.7)負(fù)載均衡與DNS輪詢(xún)技術(shù) 2.8)中等規(guī)模站點(diǎn)核心矛盾分析 2.9)業(yè)務(wù)/數(shù)據(jù)/代碼垂直拆分技術(shù) 2.10)CDN與靜態(tài)加速技術(shù) (3)大流量站點(diǎn)架構(gòu)與最佳實(shí)踐 3.1)大流量站點(diǎn)業(yè)務(wù)需求分析 3.2)大流量站點(diǎn)架構(gòu)抽象 3.3)大流量站點(diǎn)架構(gòu)選型 3.4)性能與成本的技術(shù)轉(zhuǎn)型建議 3.5)大流量站點(diǎn)核心矛盾分析 3.6)深度分層架構(gòu)設(shè)計(jì) 3.7)水平拆分技術(shù) 3.8)服務(wù)化實(shí)踐 3.9)反向代理技術(shù) 3.10)可用性技術(shù) 3.11)框架抽象技術(shù) 3.12)實(shí)時(shí)化技術(shù) (4)超大流量站點(diǎn)架構(gòu)與最佳實(shí)踐 4.1)大流量站點(diǎn)業(yè)務(wù)需求分析 4.2)大流量站點(diǎn)架構(gòu)抽象 4.3)大流量站點(diǎn)架構(gòu)選型 4.4)大流量站點(diǎn)核心矛盾分析 4.5)架構(gòu)蜘蛛網(wǎng)解耦方案 4.6)配置中心技術(shù)分析 4.7)消息總線(xiàn)的適用場(chǎng)景 4.8)柔性服務(wù)技術(shù) 4.9)服務(wù)治理簡(jiǎn)介 4.10)中間件技術(shù) 4.11)自動(dòng)化方向 4.12)產(chǎn)品智能化方向 (5)未來(lái)的挑戰(zhàn) 5.1)無(wú)線(xiàn)化的架構(gòu)的挑戰(zhàn) 5.2)大數(shù)據(jù)實(shí)時(shí)計(jì)算的挑戰(zhàn) 5.3)多機(jī)房多活的挑戰(zhàn) 5.4)多架構(gòu)模式 5.5)自動(dòng)化的未來(lái) |
三、大數(shù)據(jù)時(shí)代的數(shù)據(jù)庫(kù)軟件架構(gòu)設(shè)計(jì)與實(shí)踐 (1)數(shù)據(jù)庫(kù)設(shè)計(jì)基本概念 (2)數(shù)據(jù)庫(kù)架構(gòu)-可用性設(shè)計(jì)與實(shí)踐 2.1)讀高可用設(shè)計(jì) 2.2)寫(xiě)高可用設(shè)計(jì) 2.3)實(shí)戰(zhàn)解決方案 (3)數(shù)據(jù)庫(kù)架構(gòu)-讀性能設(shè)計(jì)與實(shí)踐 3.1)索引提速設(shè)計(jì) 3.2)從庫(kù)擴(kuò)容設(shè)計(jì) 3.3)緩存擴(kuò)容設(shè)計(jì) (4)數(shù)據(jù)庫(kù)架構(gòu)-一致性設(shè)計(jì)與實(shí)踐 4.1)主從不一致解決方案 4.2)緩存不一致解決方案 (5)數(shù)據(jù)庫(kù)架構(gòu)-擴(kuò)展性設(shè)計(jì)與實(shí)踐 5.1)秒級(jí)擴(kuò)容方案 5.2)字段擴(kuò)展方案 5.3)數(shù)據(jù)遷移方案 (6)數(shù)據(jù)庫(kù)架構(gòu)-水平切分設(shè)計(jì)與實(shí)踐 6.1)“單Key型”表結(jié)構(gòu)水平切分 6.2)“1對(duì)多型”表結(jié)構(gòu)水平切分 6.3)“多對(duì)多型”表結(jié)構(gòu)水平切分 6.4)“多Key型”表結(jié)構(gòu)水平切分 (7)數(shù)據(jù)庫(kù)中間件與分庫(kù)SQL實(shí)戰(zhàn) 7.1)IN語(yǔ)句的玩法 7.2)非patition key上的SQL玩法 7.3)夸庫(kù)分頁(yè)的玩法 |
四、分布式系統(tǒng)通用設(shè)計(jì)準(zhǔn)則 (1)系統(tǒng)拆分準(zhǔn)則 1.1)系統(tǒng)拆分業(yè)務(wù)舉例 1.2)系統(tǒng)拆分方法論 1.3)自頂向下逐層分解的設(shè)計(jì)實(shí)踐 (2)災(zāi)備準(zhǔn)則 2.1)機(jī)房?jī)?nèi)故障可用性設(shè)計(jì) 2.2)機(jī)房故障可用性設(shè)計(jì) 2.3)災(zāi)備常見(jiàn)實(shí)踐 2.4)過(guò)載保護(hù)算法 2.5)異構(gòu)服務(wù)器的負(fù)載均衡 (3)水平擴(kuò)展準(zhǔn)則 3.1)接入層水平擴(kuò)展設(shè)計(jì) 3.2)邏輯層水平擴(kuò)展設(shè)計(jì) 3.3)數(shù)據(jù)層水平擴(kuò)展設(shè)計(jì) (4)限流準(zhǔn)則 4.1)賬戶(hù)級(jí)限流設(shè)計(jì) 4.2)ip級(jí)限流設(shè)計(jì) 4.3)調(diào)用級(jí)限流設(shè)計(jì) 4.4)流量的區(qū)分 (5)降級(jí)原則 5.1)系統(tǒng)降級(jí) 5.2)業(yè)務(wù)降級(jí) (6)異步原則 6.1)業(yè)務(wù)異步設(shè)計(jì) 6.2)消息總線(xiàn)的異步作用 6.3)站點(diǎn)線(xiàn)程模型的最大問(wèn)題 6.4)異步服務(wù)模型框架 (7)分離原則 7.1)讀寫(xiě)分離技術(shù) 7.2)動(dòng)靜分離技術(shù) 7.3)線(xiàn)上訪(fǎng)問(wèn)與后臺(tái)訪(fǎng)問(wèn)分離 7.4)在線(xiàn)訪(fǎng)問(wèn)與離線(xiàn)訪(fǎng)問(wèn)分離 (8)監(jiān)控原則 8.1)服務(wù)器監(jiān)控技術(shù) 8.2)服務(wù)存活性監(jiān)控技術(shù) 8.3)日志監(jiān)控 8.4)接口監(jiān)控 8.5)語(yǔ)義監(jiān)控 |
五、大作業(yè)實(shí)戰(zhàn) (1)秒殺系統(tǒng)設(shè)計(jì)實(shí)戰(zhàn) |