摘要:為幫助考生估分,希賽小編為大家整理了2022年系統(tǒng)分析師下午案例分析真題(四),希望對大家估分有幫助。
為方便廣大考生考后估分對答案,希賽網(wǎng)特向廣大學(xué)員和網(wǎng)友搜集整理了2022年系統(tǒng)分析師下午案例分析真題(四),供大家參考。希賽網(wǎng)老師也將在考后進(jìn)行真題答案解析,敬請廣大考生關(guān)注。
試題四(共25分)
閱讀以下關(guān)于微服務(wù)架構(gòu)中的數(shù)據(jù)管理的敘述,在答題紙上回答問題1至問題3。
【說明】
某大型電商平臺構(gòu)建了一個在線B2B商店系統(tǒng)。該系統(tǒng)采用微服務(wù)架構(gòu),將系統(tǒng)功能分解為多個松散耦合且可獨立部署的較小組件或服務(wù)。最終設(shè)計的系統(tǒng)包括了電商系統(tǒng)中常見的服務(wù):客戶服務(wù)、訂單服務(wù)、支付服務(wù)等,其中:
1、 客戶服務(wù)負(fù)責(zé)對客戶相關(guān)的信息進(jìn)行管理和維護(hù);
2、 訂單服務(wù)負(fù)責(zé)對訂單信息的管理和維護(hù);
3、支付服務(wù)負(fù)責(zé)對在線支付功能和信息的管理和維護(hù)等。
為了確保微服務(wù)之間的松耦合,每個服務(wù)都有自己的數(shù)據(jù),其中,訂單服務(wù)使用了 NoSQL 數(shù)據(jù)庫,客戶服務(wù)和支付服務(wù)使用了關(guān)系數(shù)據(jù)庫。
李工認(rèn)為由于不同服務(wù)使用了各自的不同數(shù)據(jù)庫,使得跨服務(wù)操作可能存在數(shù)據(jù)不一致。比如訂單與支付的數(shù)據(jù)一致性問題,系統(tǒng)通過訂單服務(wù)在本地 NoSQL 數(shù)據(jù)庫中創(chuàng)建訂單記錄,同時在支付服務(wù)的關(guān)系數(shù)據(jù)庫中創(chuàng)建支付記錄,且必須保證訂單記錄和支付記錄的一致性,該問題在系統(tǒng)構(gòu)建時需要考慮。
【問題1】(7分)
李工建議采用兩階段提交協(xié)議(2PC)來解決服務(wù)數(shù)據(jù)的一致性問題。請用200字以內(nèi)的文字簡要說明2PC;說明2PC是否能解決該問題,并簡要解釋原因。
【問題2】(8分)
王工建議采用分布式數(shù)據(jù)管理方案,用事件驅(qū)動架構(gòu)來解決服務(wù)數(shù)據(jù)的一致性問題,在訂單服務(wù)和支付服務(wù)之間通過可靠的消息隊列實現(xiàn)事件的傳遞,其基本操作步驟如下,請?zhí)顚懫渲械目瞻滋帯?/p>
(1)訂單服務(wù)接收訂購請求,創(chuàng)建一個訂單,該記錄狀態(tài)為(a),發(fā)布一個“創(chuàng)建訂單”事件;
(2)(b)接收“創(chuàng)建訂單”事件,記錄(c),發(fā)布一個“支付完成事件;
(3)訂單服務(wù)接收“支付完成”事件,修改訂單記錄狀態(tài)為(d)。
【問題3】(10分)
李工提出王工的方案會有數(shù)據(jù)庫更新和發(fā)布事件的原子性問題,例如訂單服務(wù)創(chuàng)建訂單記錄和發(fā)布“創(chuàng)建訂單”事件需要原子性保障,否則會出現(xiàn)數(shù)據(jù)不一致狀態(tài)。
王工認(rèn)為可以使用本地事務(wù)發(fā)布事件的方法來解決該問題。請給出使用本地事務(wù)發(fā)布事件的基本方法,并說明該方法的缺點。
相關(guān)推薦:2022年系統(tǒng)分析師下午真題及答案解析
軟考備考資料免費領(lǐng)取
去領(lǐng)取