版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2025年上半年高級(jí)軟件水平考試系統(tǒng)架構(gòu)設(shè)計(jì)師(案例分析)練習(xí)題及答案一、案例背景與整體要求【閱讀材料】某城商行計(jì)劃用三年時(shí)間完成“云原生分布式核心”替換,目標(biāo)為:1.日均交易量2.5億筆,峰值4.2萬TPS,P99延遲≤100ms;2.兩地三中心,RPO=0,RTO≤30s;3.監(jiān)管要求交易數(shù)據(jù)保存15年,不可篡改,支持準(zhǔn)實(shí)時(shí)審計(jì);4.存量138套外圍系統(tǒng),接口協(xié)議涵蓋ISO8583、XML/SOAP、REST、MQ、SFTP等;5.預(yù)算2.7億元,含軟硬件、人力、外部咨詢,不得超支。項(xiàng)目采用“雙模IT”:A模式——穩(wěn)態(tài),沿用IBMZ+DB2,逐步縮容;B模式——敏態(tài),新建容器云+分布式數(shù)據(jù)庫(kù),業(yè)務(wù)灰度切換。2024年6月完成首批20%流量切換,2025年6月計(jì)劃完成100%。你作為總行架構(gòu)辦首席架構(gòu)師,需回答下列問題。二、試題1(質(zhì)量屬性場(chǎng)景分析,25分)【問題】1.1請(qǐng)用ATAM方法給出5個(gè)質(zhì)量屬性場(chǎng)景,每個(gè)場(chǎng)景必須包含:刺激源、刺激、環(huán)境、制品、響應(yīng)、響應(yīng)度量。(10分)1.2針對(duì)“監(jiān)管審計(jì)”場(chǎng)景,繪制一張質(zhì)量屬性效用樹,根節(jié)點(diǎn)為“Auditability”,至少分解到第三層葉子節(jié)點(diǎn),并給出優(yōu)先級(jí)(H/M/L)。(8分)1.3說明在容器云環(huán)境中,如何針對(duì)“日志不可篡改”設(shè)計(jì)技術(shù)控制點(diǎn),要求給出2種實(shí)現(xiàn)方案,并對(duì)比其優(yōu)缺點(diǎn)。(7分)【答案與解析】1.1場(chǎng)景1性能刺激源:手機(jī)銀行用戶刺激:雙11零點(diǎn)4.2萬TPS下單環(huán)境:容器云生產(chǎn)集群120節(jié)點(diǎn)制品:分布式支付服務(wù)響應(yīng):橫向擴(kuò)容Pod數(shù)600→1800響應(yīng)度量:P99延遲92ms,CPU利用率78%場(chǎng)景2可用性刺激源:城市級(jí)光纜被挖斷刺激:同城AZ1網(wǎng)絡(luò)隔離環(huán)境:兩地三中心制品:賬戶服務(wù)響應(yīng):流量100%切換到AZ2響應(yīng)度量:RTO18s,交易失敗率0.02%場(chǎng)景3可修改性刺激源:監(jiān)管新增“反詐字段”刺激:需在3個(gè)工作日內(nèi)上線環(huán)境:DevOps流水線制品:客戶信息服務(wù)響應(yīng):修改字段、回歸、灰度響應(yīng)度量:開發(fā)0.5人日、測(cè)試1人日、上線20min場(chǎng)景4安全性刺激源:黑客刺激:SQL注入環(huán)境:互聯(lián)網(wǎng)DMZ制品:賬戶查詢API響應(yīng):WAF攔截、審計(jì)告警響應(yīng)度量:誤報(bào)率0%,阻斷時(shí)延3ms場(chǎng)景5審計(jì)性刺激源:央行檢查組刺激:抽查20241001交易環(huán)境:準(zhǔn)實(shí)時(shí)審計(jì)平臺(tái)制品:交易日志響應(yīng):在5min內(nèi)返回不可篡改證據(jù)鏈響應(yīng)度量:哈希鏈校驗(yàn)100%通過1.2Auditability├─數(shù)據(jù)完整性H│├─哈希鏈H││├─MerkleTree每秒寫入H││└─國(guó)密SM3摘要L│└─雙錄補(bǔ)錄M├─可追溯性H│├─TraceId穿透H││├─OpenTelemetry自動(dòng)注入H││└─自定義網(wǎng)關(guān)埋點(diǎn)M│└─用戶行為回放L└─合規(guī)報(bào)告M├─1104報(bào)表自動(dòng)生成M└─央行接口對(duì)接L1.3方案A:容器sidecar掛載只讀日志卷+外部immutableS3優(yōu)點(diǎn):實(shí)現(xiàn)簡(jiǎn)單,S3對(duì)象鎖(ObjectLock)合規(guī);缺點(diǎn):網(wǎng)絡(luò)抖動(dòng)可能丟日志,查詢需跨網(wǎng)絡(luò)。方案B:基于eBPF的kernelspace日志捕獲+本地WORM盤優(yōu)點(diǎn):零拷貝,性能損耗<1%,本地盤查詢快;缺點(diǎn):需內(nèi)核5.10+,硬件成本增加8%。三、試題2(架構(gòu)風(fēng)格選型,25分)【問題】2.1針對(duì)138套存量系統(tǒng),設(shè)計(jì)一套最小成本的接口整合架構(gòu),要求:a)給出頂層視圖(文字描述即可),說明采用何種架構(gòu)風(fēng)格;b)列出3種適配器實(shí)現(xiàn)技術(shù),并給出選擇理由;c)估算接口整合階段所需“人月”,給出估算公式與參數(shù)取值。(12分)2.2在分布式數(shù)據(jù)庫(kù)選型上,團(tuán)隊(duì)出現(xiàn)分歧:甲方主張“SharedNothing+分庫(kù)分表”,乙方主張“NewSQL原生分布式”。請(qǐng)從CAP、成本、運(yùn)維復(fù)雜度、監(jiān)管合規(guī)四個(gè)維度給出對(duì)比表,并給出你的推薦。(8分)2.3畫出“賬戶扣減”在B模式下的時(shí)序圖,要求包含TCC事務(wù)、冪等控制、補(bǔ)償報(bào)警,參與者不少于6個(gè)。(5分)【答案與解析】2.1a)頂層視圖:采用“事件驅(qū)動(dòng)+適配器”風(fēng)格。ESB退役,代之以“輕量消息總線+領(lǐng)域網(wǎng)關(guān)”。138套系統(tǒng)按業(yè)務(wù)域分組,每組設(shè)一個(gè)“領(lǐng)域網(wǎng)關(guān)”(DomainGateway),負(fù)責(zé)協(xié)議轉(zhuǎn)換、報(bào)文映射、流量控制;網(wǎng)關(guān)間通過Kafka傳遞標(biāo)準(zhǔn)事件(CloudEvents1.0規(guī)范)。b)適配器技術(shù):1.ISO8583→JSON采用Netty+8583編解碼器,理由:長(zhǎng)連接、高并發(fā);2.XML/SOAP→JSON使用XSLT3+Saxon,理由:監(jiān)管已提供XSD,可直接轉(zhuǎn)換;3.SFTP批量文件轉(zhuǎn)對(duì)象存儲(chǔ)+事件,使用SpringIntegration,理由:批處理與流式統(tǒng)一編程模型。c)人月估算:采用COCOMOⅡ早期原型公式:PM=A×(KSLOC)^E×∏EMiA=2.94,E=1.1,規(guī)模KSLOC=138×1.2≈165(每系統(tǒng)平均1.2KLOC適配腳本),EM取1.15(工具成熟度中等)。PM=2.94×165^1.1×1.15≈2.94×256×1.15≈866人日≈43人月。2.2維度SharedNothing+分表NewSQL原生CAP犧牲一定C,網(wǎng)絡(luò)分區(qū)可寫保CP,分區(qū)時(shí)拒絕寫成本商業(yè)中間件480萬開源+商業(yè)支持260萬運(yùn)維需DBA手工分片自動(dòng)rebalance監(jiān)管合規(guī)需額外做全局一致性校驗(yàn)內(nèi)置一致性快照,滿足央行5號(hào)文推薦:NewSQL(如OceanBase4.x),兼顧C(jī)P與成本。2.3時(shí)序圖(文字描述):Client→Gateway:POST/accounts/{id}/debitGateway→TCCManager:Try(deduct100)TCCManager→DB:凍結(jié)金額100DB→TCCManager:TryOKTCCManager→Gateway:TryOKGateway→Client:202AcceptedGateway→TCCManager:ConfirmTCCManager→DB:commit凍結(jié)DB→TCCManager:ConfirmOKTCCManager→Alarm:成功metric+1異常分支:TCCManager→DB:CancelDB→TCCManager:解凍TCCManager→Alarm:補(bǔ)償metric+1所有消息帶冪等Key(XIdempotencyKey),DB唯一索引防重。四、試題3(可靠性設(shè)計(jì),20分)【問題】3.1給出“RPO=0”的量化定義,并說明在容器云+分布式數(shù)據(jù)庫(kù)場(chǎng)景下,如何在不使用高端存儲(chǔ)的情況下實(shí)現(xiàn)RPO=0,要求給出至少2種機(jī)制,并量化說明其帶寬需求。(8分)3.2設(shè)計(jì)一套“混沌工程”實(shí)驗(yàn)方案,驗(yàn)證30s內(nèi)完成AZ級(jí)切換,要求:a)實(shí)驗(yàn)?zāi)繕?biāo)、穩(wěn)態(tài)指標(biāo)、實(shí)驗(yàn)步驟、回滾條件;b)給出實(shí)驗(yàn)通過/不通過的判定閾值;c)說明如何與監(jiān)管報(bào)備,避免觸發(fā)“重大生產(chǎn)事件”評(píng)級(jí)。(7分)3.3解釋為何“Leader選舉”在網(wǎng)絡(luò)300ms抖動(dòng)時(shí)可能出現(xiàn)“雙主”腦裂,并給出基于租約(Lease)的解決算法,要求給出偽代碼。(5分)【答案與解析】3.1RPO=0量化:故障發(fā)生后,已提交事務(wù)零丟失,即last_commit=last_apply。機(jī)制1:分布式數(shù)據(jù)庫(kù)Paxos三副本同步復(fù)制,事務(wù)日志在多數(shù)派落盤才返回客戶端;帶寬需求:峰值4.2萬TPS×2KB/事務(wù)≈82MB/s,跨機(jī)房專線1Gb/s可滿足。機(jī)制2:Kafka事務(wù)消息+冪等消費(fèi),Producer開啟idempotence,Broker設(shè)置acks=all、min.insync.replicas=3;帶寬需求同機(jī)制1,額外10%頭部開銷。3.2a)目標(biāo):驗(yàn)證AZ1失聯(lián)后30s內(nèi)交易成功率≥99.5%。穩(wěn)態(tài)指標(biāo):P99延遲<100ms、錯(cuò)誤率<0.1%、MQ積壓<1萬條。步驟:1.低峰期02:0004:00,使用ChaosBlade注入AZ1網(wǎng)絡(luò)丟包100%;2.觀察Prometheus指標(biāo),記錄切換時(shí)間;3.持續(xù)10min后解除故障?;貪L條件:錯(cuò)誤率>1%或MQ積壓>5萬條立即終止實(shí)驗(yàn)。b)判定閾值:RTO≤30s且穩(wěn)態(tài)指標(biāo)全部恢復(fù)至基線110%以內(nèi)即通過。c)報(bào)備:提前5個(gè)工作日向人行報(bào)備,說明實(shí)驗(yàn)范圍、回滾策略、影響面小于5%流量;實(shí)驗(yàn)?zāi)_本納入變更管理,使用“灰度”標(biāo)簽,避免觸發(fā)“重大事件”紅線。3.3腦裂原因:網(wǎng)絡(luò)分區(qū)導(dǎo)致舊Leader未收到心跳,超時(shí)觸發(fā)新Leader選舉,兩邊同時(shí)寫,造成數(shù)據(jù)分歧。Lease算法偽代碼:constLeaseTimeout=10sfuncRequestVote(candidate):ifnow()<leaderLeaseUntil:returnrejectelse:grantvoteandresetleaderLeaseUntil=now()+LeaseTimeout舊Leader發(fā)現(xiàn)Lease過期立即退位,確保任意時(shí)刻最多一個(gè)Leader。五、試題4(性能調(diào)優(yōu)與成本估算,15分)【問題】4.1給出一條典型SQL(賬戶余額更新),在分庫(kù)分表后產(chǎn)生“熱點(diǎn)賬戶”問題,導(dǎo)致2000線程同時(shí)搶占行鎖,TPS跌至300。請(qǐng)給出3種優(yōu)化手段,并量化說明各自可提升的TPS上限。(9分)4.2容器云節(jié)點(diǎn)使用32vCPU/128GB,單價(jià)1.2元/小時(shí),商業(yè)分布式數(shù)據(jù)庫(kù)節(jié)點(diǎn)16vCPU/64GB,單價(jià)0.8元/小時(shí)。若峰值需120容器節(jié)點(diǎn)+45數(shù)據(jù)庫(kù)節(jié)點(diǎn),請(qǐng)計(jì)算年度資源費(fèi)用;并說明如果采用“混部”技術(shù),可節(jié)省多少百分比。(6分)【答案與解析】4.1手段1:將行鎖拆分為10個(gè)分段賬戶,隨機(jī)分散,消除熱點(diǎn),理論TPS上限300×10=3000;手段2:采用內(nèi)存級(jí)緩存+合并寫,每50ms批量提交,寫放大降低80%,TPS可提升至2500;手段3:使用NewSQL的“內(nèi)存行鎖”+多版本,消除鎖等待,實(shí)測(cè)TPS峰值4200。4.2容器費(fèi)用:120×1.2×24×365=126.14萬元數(shù)據(jù)庫(kù)費(fèi)用:45×0.8×24×365=31.54萬元合計(jì)157.68萬元。混部:利用容器空閑30%CPU運(yùn)行數(shù)據(jù)庫(kù),減少15個(gè)數(shù)據(jù)庫(kù)節(jié)點(diǎn),節(jié)省15×0.8×24×365=10.51萬元,占比10.51/157.68≈6.7%。六、試題5(安全與合規(guī),15分)【問題】5.1監(jiān)管要求“個(gè)人敏感信息脫敏”,但審計(jì)需保留原始值。請(qǐng)?jiān)O(shè)計(jì)一套“可逆脫敏”方案,滿足:a)算法安全強(qiáng)度≥AES256;b)支持字段級(jí)細(xì)粒度授權(quán);c)密鑰生命周期與HSM對(duì)接。(8分)5.2針對(duì)容器鏡像供應(yīng)鏈,給出SBOM生成、簽名、驗(yàn)證的完整流程,并說明如何與CI/CD集成,防止“Log4Shell”類風(fēng)險(xiǎn)再次引入。(7分)【答案與解析】5.1方案:格式保持加密(FPE)+密鑰分級(jí)。1.使用FF1模式,AES256為核心,字符集保持銀行卡號(hào)62進(jìn)制長(zhǎng)度不變;2.引入ABAC,策略屬性含“部門+角色+目的”,僅審計(jì)角色可逆;3.密鑰由HSM生成并拆分,主密鑰在HSM內(nèi),永不導(dǎo)出;數(shù)據(jù)密鑰通過KMIP獲取,緩存15min自動(dòng)清除;4.每年執(zhí)行密鑰輪換,舊密鑰加密歸檔,新密鑰重新加密。5.2流程:1.CI階段Syft生成SBOM(SPDXJSON);2.Cosign使用私鑰對(duì)SBOM及鏡像摘要簽名,公鑰托管在OCIregistry;3.CD階段AdmissionController驗(yàn)證簽名,同時(shí)用Grype掃描SBOM,若存在CVE≥CRITICAL則拒絕部署;4.鏡像源統(tǒng)一使用內(nèi)部Harbor,開啟“不可變”策略,禁止覆蓋tag;5.每周自動(dòng)比對(duì)NVD新漏洞,觸發(fā)重新掃描,發(fā)現(xiàn)風(fēng)險(xiǎn)自動(dòng)創(chuàng)建Jira工單。七、試題6(綜合評(píng)估與演進(jìn)路線,10分)【問題】6.1結(jié)合前述質(zhì)量屬性、成本、風(fēng)險(xiǎn),給出2
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 口腔相關(guān)基礎(chǔ)知識(shí)
- 司機(jī)服務(wù)提升培訓(xùn)
- 司務(wù)長(zhǎng)培訓(xùn)教學(xué)課件
- 口腔宣教小知識(shí)
- 口腔健康科普課件教學(xué)
- 制作培訓(xùn)課程
- 制作培訓(xùn)背景
- 口才有趣的動(dòng)手課件
- 制作培訓(xùn)提升
- 食堂自查報(bào)告及整改措施
- 惠州園林管理辦法
- 山西省建筑工程施工安全管理標(biāo)準(zhǔn)
- 2025山西云時(shí)代技術(shù)有限公司校園招聘160人筆試參考題庫(kù)附帶答案詳解
- 拼多多公司績(jī)效管理制度
- 貿(mào)易公司貨權(quán)管理制度
- 生鮮采購(gòu)年度工作總結(jié)
- 造價(jià)咨詢項(xiàng)目經(jīng)理責(zé)任制度
- 離婚協(xié)議書正規(guī)打印電子版(2025年版)
- FZ∕T 81008-2021 茄克衫行業(yè)標(biāo)準(zhǔn)
- 幼兒園大班社會(huì)課件:《我是中國(guó)娃》
- 村莊搬遷可行性報(bào)告
評(píng)論
0/150
提交評(píng)論