架構(gòu)師案例分析每日深耕 Day 14】周測(cè):質(zhì)量屬性場(chǎng)景構(gòu)造 + 戰(zhàn)術(shù)匹配)
【Day 14】周測(cè)質(zhì)量屬性場(chǎng)景構(gòu)造 戰(zhàn)術(shù)匹配一、題目還原某在線(xiàn)視頻教育平臺(tái)計(jì)劃升級(jí)系統(tǒng)架構(gòu)覆蓋直播課、錄播課、課后練習(xí)、學(xué)習(xí)報(bào)告四大業(yè)務(wù)模塊當(dāng)前用戶(hù)規(guī)模500萬(wàn)注冊(cè)用戶(hù)、日均活躍用戶(hù)80萬(wàn)。平臺(tái)在業(yè)務(wù)與技術(shù)層面提出以下非功能性需求(1) 每晚8點(diǎn)直播高峰期平臺(tái)需同時(shí)承載3萬(wàn)路直播流與50萬(wàn)并發(fā)觀看請(qǐng)求要求首屏緩沖時(shí)間不超過(guò)2秒直播卡頓率低于1%(2) 直播中偶發(fā)服務(wù)器宕機(jī)或網(wǎng)絡(luò)分區(qū)要求觀看中斷時(shí)間不超過(guò)30秒且已產(chǎn)生的學(xué)習(xí)進(jìn)度、課堂互動(dòng)記錄不允許丟失(3) 平臺(tái)存儲(chǔ)了大量未成年人個(gè)人信息及家長(zhǎng)支付信息需防止數(shù)據(jù)泄露、越權(quán)訪(fǎng)問(wèn)同時(shí)滿(mǎn)足教育行業(yè)數(shù)據(jù)合規(guī)要求(4) 業(yè)務(wù)發(fā)展快平均每2周就要上線(xiàn)一個(gè)新功能如新的互動(dòng)答題插件、新的課程營(yíng)銷(xiāo)活動(dòng)要求新增功能對(duì)現(xiàn)有功能的影響面最小(5) 系統(tǒng)每年需進(jìn)行多次大版本升級(jí)升級(jí)過(guò)程中要求線(xiàn)上服務(wù)不中斷、可灰度回滾且每次升級(jí)后能在1周內(nèi)完成核心鏈路的回歸驗(yàn)證。【Q1】12分請(qǐng)針對(duì)上述5項(xiàng)需求分別識(shí)別其對(duì)應(yīng)的關(guān)鍵質(zhì)量屬性并各構(gòu)造一個(gè)完整的質(zhì)量屬性場(chǎng)景六要素刺激源→刺激→環(huán)境→制品→響應(yīng)→響應(yīng)度量。【Q2】13分請(qǐng)為上述質(zhì)量屬性分別匹配對(duì)應(yīng)的架構(gòu)戰(zhàn)術(shù)每項(xiàng)需求至少2個(gè)戰(zhàn)術(shù)并結(jié)合該平臺(tái)的業(yè)務(wù)場(chǎng)景說(shuō)明每個(gè)戰(zhàn)術(shù)的具體落地方式。二、考點(diǎn)分析項(xiàng)目?jī)?nèi)容核心考點(diǎn)質(zhì)量屬性識(shí)別 質(zhì)量屬性場(chǎng)景六要素構(gòu)造 戰(zhàn)術(shù)匹配綜合周測(cè)所屬章節(jié)軟件架構(gòu)設(shè)計(jì)——質(zhì)量屬性與架構(gòu)評(píng)估第8章對(duì)應(yīng)模板模板二質(zhì)量屬性與戰(zhàn)術(shù)分析完整版場(chǎng)景六要素 戰(zhàn)術(shù)列表本題難度★★★★☆周測(cè)綜合題覆蓋性能/可用性/安全/可修改/可測(cè)試五大屬性三、標(biāo)準(zhǔn)答案采分點(diǎn)格式【Q1】質(zhì)量屬性識(shí)別與場(chǎng)景構(gòu)造12分1屬性識(shí)別5分每個(gè)1分① 需求(1)→性能Performance② 需求(2)→可用性Availability③ 需求(3)→安全性Security④ 需求(4)→可修改性Modifiability⑤ 需求(5)→可測(cè)試性Testability含部署驗(yàn)證能力2質(zhì)量屬性場(chǎng)景構(gòu)造7分每個(gè)場(chǎng)景按六要素完整給分場(chǎng)景1性能1.5分刺激源直播用戶(hù)大量并發(fā)觀看者刺激每晚8點(diǎn)高峰50萬(wàn)并發(fā)用戶(hù)同時(shí)發(fā)起直播流請(qǐng)求環(huán)境系統(tǒng)處于高峰期滿(mǎn)負(fù)載狀態(tài)制品直播服務(wù)與CDN分發(fā)鏈路響應(yīng)邊緣節(jié)點(diǎn)就近分發(fā)轉(zhuǎn)碼服務(wù)并行處理快速返回視頻流響應(yīng)度量首屏緩沖時(shí)間≤2秒直播卡頓率1%場(chǎng)景2可用性1.5分刺激源基礎(chǔ)設(shè)施故障服務(wù)器宕機(jī)/網(wǎng)絡(luò)分區(qū)刺激直播中某機(jī)房服務(wù)器宕機(jī)或網(wǎng)絡(luò)分區(qū)環(huán)境直播進(jìn)行中系統(tǒng)正常運(yùn)行狀態(tài)制品直播服務(wù)集群及學(xué)習(xí)記錄存儲(chǔ)響應(yīng)自動(dòng)檢測(cè)故障并切換至備用節(jié)點(diǎn)客戶(hù)端自動(dòng)重連進(jìn)度與互動(dòng)記錄持久化保存響應(yīng)度量觀看中斷時(shí)間≤30秒學(xué)習(xí)進(jìn)度零丟失RPO0場(chǎng)景3安全性1.5分刺激源外部攻擊者/越權(quán)用戶(hù)刺激試圖通過(guò)API接口竊取未成年人個(gè)人信息或越權(quán)訪(fǎng)問(wèn)家長(zhǎng)支付數(shù)據(jù)環(huán)境系統(tǒng)正常對(duì)外運(yùn)營(yíng)制品用戶(hù)信息服務(wù)、支付模塊、API網(wǎng)關(guān)響應(yīng)網(wǎng)關(guān)鑒權(quán)攔截、數(shù)據(jù)加密存儲(chǔ)與傳輸、權(quán)限校驗(yàn)拒絕越權(quán)訪(fǎng)問(wèn)并記錄審計(jì)日志響應(yīng)度量100%未授權(quán)請(qǐng)求被攔截敏感數(shù)據(jù)加密覆蓋率100%審計(jì)日志完整可追溯場(chǎng)景4可修改性1.5分刺激源產(chǎn)品經(jīng)理/業(yè)務(wù)方刺激每2周提出一個(gè)新功能上線(xiàn)需求如互動(dòng)答題插件環(huán)境系統(tǒng)運(yùn)行開(kāi)發(fā)與生產(chǎn)并行階段制品課程業(yè)務(wù)服務(wù)響應(yīng)通過(guò)模塊化/插件化設(shè)計(jì)新增獨(dú)立功能單元不修改既有服務(wù)代碼響應(yīng)度量新功能2周內(nèi)上線(xiàn)受影響的服務(wù)數(shù)量≤1個(gè)對(duì)現(xiàn)有功能影響面最小場(chǎng)景5可測(cè)試性1分刺激源開(kāi)發(fā)/測(cè)試團(tuán)隊(duì)刺激大版本升級(jí)完成后需要對(duì)核心鏈路進(jìn)行回歸驗(yàn)證環(huán)境灰度發(fā)布階段新舊版本并行制品核心業(yè)務(wù)鏈路直播/支付/學(xué)習(xí)記錄響應(yīng)通過(guò)自動(dòng)化測(cè)試鏈路追蹤灰度流量對(duì)比快速定位與驗(yàn)證響應(yīng)度量1周內(nèi)完成核心鏈路回歸測(cè)試覆蓋率≥85%升級(jí)可灰度可回滾【Q2】戰(zhàn)術(shù)匹配與落地說(shuō)明13分1性能戰(zhàn)術(shù)3分戰(zhàn)術(shù)落地方式資源管理維持多個(gè)副本/負(fù)載均衡直播服務(wù)多副本部署CDN邊緣節(jié)點(diǎn)就近分發(fā)SLB按地域負(fù)載分發(fā)請(qǐng)求資源需求減少計(jì)算開(kāi)銷(xiāo)緩存熱門(mén)課程元數(shù)據(jù)、播放地址緩存至Redis/CDN轉(zhuǎn)碼結(jié)果預(yù)生成并緩存資源管理引入并發(fā)轉(zhuǎn)碼、打包服務(wù)采用異步并發(fā)處理消息隊(duì)列削峰多線(xiàn)程池并行處理直播流2可用性戰(zhàn)術(shù)3分戰(zhàn)術(shù)落地方式故障檢測(cè)心跳/PingK8s Liveness/Readiness探針每10秒檢測(cè)直播服務(wù)存活狀態(tài)異常自動(dòng)告警故障恢復(fù)冗余切換直播服務(wù)多可用區(qū)部署宕機(jī)自動(dòng)切換客戶(hù)端自動(dòng)重連至備用節(jié)點(diǎn)故障預(yù)防事務(wù)/持久化學(xué)習(xí)進(jìn)度、互動(dòng)記錄寫(xiě)入前先落庫(kù)WAL/事務(wù)配合消息隊(duì)列保證不丟失RPO03安全性戰(zhàn)術(shù)3分戰(zhàn)術(shù)落地方式抵抗攻擊身份認(rèn)證授權(quán)API網(wǎng)關(guān)統(tǒng)一OAuth2.0/JWT鑒權(quán)RBAC控制角色權(quán)限未成年人數(shù)據(jù)單獨(dú)分級(jí)授權(quán)抵抗攻擊加密敏感數(shù)據(jù)TLS 1.3傳輸加密 AES-256存儲(chǔ)加密支付信息符合PCI-DSS檢測(cè)攻擊審計(jì)接入WAF/IDS實(shí)時(shí)檢測(cè)所有敏感操作記錄審計(jì)日志誰(shuí)何時(shí)做了什么4可修改性戰(zhàn)術(shù)2分戰(zhàn)術(shù)落地方式局部化修改模塊化/插件化按課程/直播/練習(xí)/報(bào)告拆分為獨(dú)立微服務(wù)互動(dòng)答題等新功能以插件形式接入防止連鎖反應(yīng)中介者/接口穩(wěn)定服務(wù)間通過(guò)消息隊(duì)列API網(wǎng)關(guān)通信接口版本化管理v1/v2新增功能不改動(dòng)既有接口5可測(cè)試性戰(zhàn)術(shù)2分戰(zhàn)術(shù)落地方式控制與觀察日志/內(nèi)置監(jiān)控全鏈路追蹤IDSkyWalking/actuator/health健康檢查端點(diǎn)灰度流量對(duì)比監(jiān)控故障注入/自動(dòng)化測(cè)試引入混沌工程模擬故障驗(yàn)證容錯(cuò)單元測(cè)試契約測(cè)試PactE2E自動(dòng)化回歸灰度環(huán)境先行驗(yàn)證四、評(píng)分要點(diǎn)必答采分點(diǎn)Q15項(xiàng)需求→5個(gè)屬性名稱(chēng)全部正確5分每個(gè)場(chǎng)景六要素齊全刺激源/刺激/環(huán)境/制品/響應(yīng)/響應(yīng)度量缺一個(gè)要素扣該場(chǎng)景對(duì)應(yīng)分Q2每個(gè)屬性至少2個(gè)戰(zhàn)術(shù)且戰(zhàn)術(shù)名稱(chēng)規(guī)范如故障檢測(cè)心跳共需約10~13個(gè)戰(zhàn)術(shù)8分每個(gè)戰(zhàn)術(shù)有結(jié)合平臺(tái)的落地說(shuō)明5分。加分項(xiàng)場(chǎng)景中的響應(yīng)度量給出量化指標(biāo)≤2秒、1%、≤30秒、RPO0、≥85%戰(zhàn)術(shù)分類(lèi)準(zhǔn)確能區(qū)分資源管理-多副本與資源需求-緩存這類(lèi)同類(lèi)不同級(jí)出現(xiàn)具體技術(shù)棧CDN、K8s探針、Redis、SkyWalking、Pact契約測(cè)試增強(qiáng)說(shuō)服力提到屬性間權(quán)衡如緩存提升性能但引入一致性維護(hù)成本。常見(jiàn)失分點(diǎn)質(zhì)量屬性識(shí)別錯(cuò)誤把直播不卡頓寫(xiě)成可用性——實(shí)際是性能進(jìn)度不丟失才是可用性場(chǎng)景只寫(xiě)三要素如只寫(xiě)刺激、響應(yīng)、度量六要素不全戰(zhàn)術(shù)與屬性不匹配如把加密答成性能戰(zhàn)術(shù)只列戰(zhàn)術(shù)名稱(chēng)不寫(xiě)落地方式或落地方式與本平臺(tái)無(wú)關(guān)寫(xiě)成電商/銀行場(chǎng)景。五、擴(kuò)展知識(shí)點(diǎn)1. 質(zhì)量屬性場(chǎng)景六要素速記口訣源→刺→環(huán)→制→應(yīng)→度刺激源→刺激→環(huán)境→制品→響應(yīng)→響應(yīng)度量。任何構(gòu)造場(chǎng)景題按口訣逐項(xiàng)填寫(xiě)即可拿全分。2. 六屬性速記性安可用改測(cè)易性能/安全性/可用性/可修改性/可測(cè)試性/易用性。本周已覆蓋Day 8可用性雙活、Day 9性能秒殺、Day 10安全零信任、Day 11可修改單體演進(jìn)、Day 14可測(cè)試綜合——六大屬性全通關(guān)。3. 關(guān)聯(lián)《必背公式速查卡》可用性 A MTBF/(MTBFMTTR)99.9%年宕機(jī)8.76小時(shí)99.99%年宕機(jī)52.56分鐘99.999%年宕機(jī)5.26分鐘——場(chǎng)景度量中寫(xiě)可用性99.99%時(shí)注意換算正確。4. 關(guān)聯(lián)《易混淆對(duì)照表》性能vs可用性——響應(yīng)快是性能不中斷是可用性可靠性MTTF與可用性MTBF勿混。5. 關(guān)聯(lián)《六大答題模板》本題是模板二的完整變體場(chǎng)景構(gòu)造戰(zhàn)術(shù)匹配下周Day 15將在此基礎(chǔ)上進(jìn)入ATAM——效用樹(shù)本質(zhì)就是屬性→場(chǎng)景→優(yōu)先級(jí)的結(jié)構(gòu)化組織先掌握?qǐng)鼍皹?gòu)造ATAM才能水到渠成。六、今日金句“質(zhì)量屬性場(chǎng)景是用六要素講清楚’在什么環(huán)境下、誰(shuí)發(fā)起了什么刺激、系統(tǒng)應(yīng)作出什么響應(yīng)、如何度量’的標(biāo)準(zhǔn)化需求描述而戰(zhàn)術(shù)是架構(gòu)師實(shí)現(xiàn)場(chǎng)景目標(biāo)的手段——場(chǎng)景定義’要什么’戰(zhàn)術(shù)回答’怎么做’?!笨荚囋?huà)級(jí)表述可直接用于案例題開(kāi)篇或論文方法段。