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