【課程背景】
隨著移動(dòng)互聯(lián)時(shí)代的到來,數(shù)據(jù)量急劇增加,并發(fā)量也變得越來越有挑戰(zhàn),企業(yè)在規(guī)劃和設(shè)計(jì)系統(tǒng)的總體架構(gòu),涉及到方方面面的知識(shí)點(diǎn),可選的方案也很多,如何在各種各樣,紛繁復(fù)雜的技術(shù)中構(gòu)建適合企業(yè)的高可用技術(shù)架構(gòu),變成了一件很具挑戰(zhàn)的事情。一個(gè)好的高可用架構(gòu)可以以較低的成本、更靈活的方式,滿足企業(yè)用戶需求。相反,糟糕的架構(gòu),不但花費(fèi)了重金,而且架構(gòu)過于復(fù)雜、過于笨重,線上故障不斷,架構(gòu)靈活性差,阻礙業(yè)務(wù)的發(fā)展。
我個(gè)人一直從事架構(gòu)設(shè)計(jì)工作,根據(jù)在百度、58同城等六年內(nèi)滿足海量用戶請(qǐng)求的架構(gòu)設(shè)計(jì)經(jīng)驗(yàn),帶領(lǐng)大家一起學(xué)習(xí)互聯(lián)網(wǎng)的高可用架構(gòu)如何玩?理論結(jié)合實(shí)踐,并重點(diǎn)講述案例,深入剖析架構(gòu)設(shè)計(jì)的高可用性。并一同探討如何滿足貴企業(yè)的高可用架構(gòu)設(shè)計(jì)。來吧,一起揭開“高可用架構(gòu)設(shè)計(jì)與實(shí)踐”的神秘面紗!
【環(huán)境準(zhǔn)備】
無特殊要求
【培訓(xùn)對(duì)象】
對(duì)互聯(lián)網(wǎng)架構(gòu)感興趣的同學(xué)都適合,一定會(huì)有比較大的收獲。
【培訓(xùn)收益】
本課程會(huì)采用理論結(jié)合實(shí)踐的方式,循序漸進(jìn)的講述。學(xué)習(xí)完本課程,可以系統(tǒng)了解互聯(lián)網(wǎng)高可用架構(gòu)是如何設(shè)計(jì)和實(shí)踐的。課程中講述的高可用架構(gòu)實(shí)踐方法一定會(huì)對(duì)個(gè)人架構(gòu)能力提升和貴公司的架構(gòu)優(yōu)化提供較好的參考依據(jù),從而能讓大家系統(tǒng)性的掌握高可用架構(gòu)設(shè)計(jì)的方法論,并應(yīng)用于實(shí)際工作中。
【課程大綱】
第一課:高可用架構(gòu)知識(shí)原理篇
1. 什么架構(gòu)的高可用?
2. 架構(gòu)高可用的重要性?
3. 架構(gòu)高可用的常用手段都有哪些?
4. 架構(gòu)高可用評(píng)價(jià)維度是什么?
5. 架構(gòu)高可用的考核如何分級(jí)?
6. 架構(gòu)高可用的涉及環(huán)節(jié)都有哪些?
第二課:高可用架構(gòu)設(shè)計(jì)之總體架構(gòu)篇
1. 高可用架構(gòu)為什么需要分層?
2. 高可用架構(gòu)分層設(shè)計(jì)原則是什么?如何架構(gòu)分層?
3. 高可用架構(gòu)分層典型實(shí)踐;
4. 我們的實(shí)踐案例;
第三課:高可用架構(gòu)設(shè)計(jì)之硬件篇
1. 如何選擇硬件?選擇什么樣的硬件?
2. 高可用架構(gòu)硬件層面如何保證?
3. 硬件層面高可用架構(gòu)保證的典型實(shí)踐是什么?
4. 我們的實(shí)踐案例;
第四課:高可用架構(gòu)設(shè)計(jì)之DNS篇
1. DNS防止被劫持的手段有哪些?
2. 高可用的DNS如何設(shè)計(jì)?(HttpDNS、IP長(zhǎng)連接等)
3. 高可用DNS的典型實(shí)踐是什么?
4. 我們的實(shí)踐案例;
第五課:高可用架構(gòu)設(shè)計(jì)之CDN篇
1. CDN系統(tǒng)架構(gòu)高可用涉及技術(shù)點(diǎn)都有哪些
2. CDN系統(tǒng)為什么要使用
3. CDN系統(tǒng)發(fā)展進(jìn)程
4. CDN系統(tǒng)國(guó)內(nèi)使用情況
5. CDN系統(tǒng)應(yīng)用領(lǐng)域
6. CDN數(shù)據(jù)一致性如何保證
7. 我們的實(shí)踐案例
第六課:高可用架構(gòu)設(shè)計(jì)之接入層篇
1. 接入層Session如何設(shè)計(jì)?(Session復(fù)制、Session綁定、Session記錄方式等)
2. 接入層數(shù)據(jù)安全如何保證?(對(duì)稱加密、非對(duì)稱加密、多種方法使用等)
3. 接入層高可用設(shè)計(jì)方案?
4. 接入層高可用設(shè)計(jì)典型實(shí)踐是什么?
5. 我們的實(shí)踐案例;
第七課:高可用架構(gòu)設(shè)計(jì)之業(yè)務(wù)邏輯層篇
1. 無狀態(tài)業(yè)務(wù)邏輯層如何設(shè)計(jì)?
2. 業(yè)務(wù)邏輯層如何分級(jí)管理?
3. 業(yè)務(wù)邏輯層如何異步調(diào)用(狀態(tài)機(jī)等方式)?
4. 業(yè)務(wù)邏輯層如何設(shè)置合理的超時(shí)?
5. 業(yè)務(wù)邏輯層服務(wù)降級(jí)如何設(shè)計(jì)?
6. 業(yè)務(wù)邏輯層如何做到冪等設(shè)計(jì)?
7. 業(yè)務(wù)邏輯層高可用設(shè)計(jì)典型實(shí)踐是什么?
8. 我們的實(shí)踐案例;
第八課:高可用架構(gòu)設(shè)計(jì)之?dāng)?shù)據(jù)存儲(chǔ)層篇
1. 數(shù)據(jù)存儲(chǔ)層冗余我們?nèi)绾巫觯?/span>
2. 數(shù)據(jù)存儲(chǔ)層數(shù)據(jù)備份如何落地?
3. 數(shù)據(jù)存儲(chǔ)層失效轉(zhuǎn)移機(jī)制如何設(shè)計(jì)?
4. 數(shù)據(jù)存儲(chǔ)層數(shù)據(jù)高可靠性如何設(shè)計(jì)保證?
5. 數(shù)據(jù)存儲(chǔ)層數(shù)據(jù)如何做到高可訪問性?
6. 數(shù)據(jù)存儲(chǔ)層數(shù)據(jù)一致性如何做到?
7. 數(shù)據(jù)存儲(chǔ)層高可用架構(gòu)設(shè)計(jì)典型實(shí)踐是什么?
8. 我們的實(shí)踐案例;
第九課:高可用架構(gòu)設(shè)計(jì)之分布式緩存篇
1. 高可用架構(gòu)使用緩存類型有哪些?各自作用是什么?(local、進(jìn)程、分布式等)
2. 高可用架構(gòu)緩存冗余如何設(shè)計(jì)?
3. 高可用架構(gòu)緩存一致性如何保證?
4. 高可用架構(gòu)緩存命中率如何保證?
5. 高可用架構(gòu)緩存設(shè)計(jì)的典型實(shí)踐是什么?
6. 我們的實(shí)踐案例;
第十課:高可用架構(gòu)設(shè)計(jì)之性能評(píng)估&擴(kuò)容篇
1. 性能評(píng)估目的
2. 性能相關(guān)環(huán)節(jié)
3. 性能評(píng)估工具
4. 性能評(píng)估方法
5. 如何擴(kuò)容
6.我們的案例
第十一課:高可用架構(gòu)設(shè)計(jì)之軟件質(zhì)量保證篇
1. 高可用架構(gòu)如何代碼控制?
2. 高可用架構(gòu)自動(dòng)化測(cè)試?
3. 高可用架構(gòu)如何預(yù)先發(fā)布驗(yàn)證?
4. 高可用架構(gòu)如何灰度發(fā)布?
5. 高可用架構(gòu)如何自動(dòng)化發(fā)布?
6. 高可用架構(gòu)設(shè)計(jì)軟件質(zhì)量保證典型實(shí)踐是什么?
7. 我們的實(shí)踐案例;
第十二課:高可用架構(gòu)設(shè)計(jì)之監(jiān)控篇
1. 高可用架構(gòu)設(shè)計(jì)監(jiān)控重要性?
2. 高可用架構(gòu)設(shè)計(jì)監(jiān)控?cái)?shù)據(jù)采集方法是什么?
3. 高可用架構(gòu)設(shè)計(jì)如何監(jiān)控設(shè)計(jì)?
4. 高可用架構(gòu)語(yǔ)義監(jiān)控如何做?
5. 高可用架構(gòu)進(jìn)程監(jiān)控如何做?
6. 高可用架構(gòu)錯(cuò)誤日志監(jiān)控如何做?
7. 高可用架構(gòu)設(shè)計(jì)監(jiān)控的典型實(shí)踐是什么?
8. 我們的實(shí)踐案例。
第十三課:高可用架構(gòu)設(shè)計(jì)之安全篇
1. 高可用架構(gòu)之網(wǎng)站安全重要性
2. 高可用架構(gòu)之網(wǎng)站被攻擊類型
3. 高可用架構(gòu)之XSS攻擊
4. 高可用架構(gòu)之注入攻擊
5. 高可用架構(gòu)之CSRF攻擊
6. 高可用架構(gòu)之其他攻擊
7. 高可用架構(gòu)之通用防護(hù)
8. 高可用架構(gòu)之信息加密
9. 高可用架構(gòu)之Antispam
10. 高可用架構(gòu)之案例篇
第十四 課:高可用架構(gòu)設(shè)計(jì)之基于堆棧分析篇
1. Java線程堆棧技巧;
2. Java線程堆棧分析;
3. 借助堆棧分析性能瓶頸方法;
4. 線上實(shí)戰(zhàn);
5. 我們案例;
第十五課:高可用架構(gòu)設(shè)計(jì)之高性能數(shù)據(jù)提交與存儲(chǔ)篇
1. 背景
1. 互聯(lián)網(wǎng)產(chǎn)品通用架構(gòu)
2. 架構(gòu)分層
3. 本文關(guān)注的層次
2. 數(shù)據(jù)提交
1. 什么是數(shù)據(jù)提交
2. 關(guān)注問題
3. 利與弊
3. 數(shù)據(jù)存儲(chǔ)
1. 存儲(chǔ)基礎(chǔ)
2. 架構(gòu)設(shè)計(jì)
3. 優(yōu)化
4. 案例實(shí)踐
1. Feed設(shè)計(jì)實(shí)現(xiàn)
第十六課:高可用架構(gòu)演進(jìn)篇
1. 《58同城典型技術(shù)架構(gòu)優(yōu)化之路》
2. 《58同城高性能移動(dòng)PUSH推送平臺(tái)架構(gòu)演進(jìn)之路》
3. 《MongoDB在58同城的應(yīng)用實(shí)踐》