摘要:本文圍繞大型電商全國倉儲貨物管理系統展開,針對緩存與數據庫一致性方案選型、緩存分片算法選擇、緩存擊穿解決辦法三大問題進行分析,附對應解題思路與參考答案,為系統性能優化提供方案。
案例場景
某大型電商平臺建立了一個在線 B2B 商店系統,并在全國多地建設了貨物倉儲中心,通過提前備貨的方式來提高貨物的運送效率。但是在運營過程中,發現會出現很多跨倉儲中心調貨從而延誤貨物運送的情況。為此,該企業計劃新建立一個全國倉儲貨物管理系統,在實現倉儲中心常規管理功能之外,通過對在線B2B商店系統中訂單信息進行及時的分析和挖掘,并通過大數據分析預測各地倉儲中心中各類貨物的配置數量,從而提高運送效率,降低成本。
當用戶通過在線 B2B商店系統選購貨物時,全國倉儲貨物管理系統會通過該用戶所在地址、商品類別以及倉儲中心的貨物信息和地址,實時為用戶訂單反饋貨物起運地(某倉儲中心)并預測送達時間。反饋送達時間的響應時間應小于1秒。
為滿足反饋送達時間功能的性能要求,設計團隊建議在全國倉儲貨物管理系統中采用數據緩存集群的方式,將倉儲中心基本信息、商品類別以及庫存數量放置在內存的緩存中,而倉儲中心的其它商品信息則存儲在數據庫系統。
[問題1](9分)
設計團隊在討論緩存和數據庫的數據一致性問題時,李工建議采取數據實時同步更新方案,而張工則建議采用數據異步準實時更新方案。
請用200字以內的文字,簡要介紹兩種方案的基本思路,說明全國倉儲貨物管理系統應該采用哪種方案,并說明采取該方案的原因。
[問題2](9分)
隨著業務的發展,倉儲中心以及商品的數量日益增加,需要對集群部署多個緩存節點,提高緩存的處理能力。李工建議采用緩存分片方法,把緩存的數據拆分到多個節點分別存儲,減輕單個緩存節點的訪問壓力,達到分流效果。
緩存分片方法常用的有哈希算法和一致性哈希算法,李工建議采用一致性哈希算法來進行分片。請用200字以內的文字簡要說明兩種算法的基本原理,并說明李工采用一致性哈希算法的原因。
[問題3](7分)
全國倉儲貨物管理系統開發完成,在運營一段時間后,系統維護人員發現大量黑客故意發起非法的商品送達時間查詢請求,造成了緩存擊穿。張工建議盡快采用布隆過濾器方法解決。請用200字以內的文字解釋布隆過濾器的工作原理和優缺點。
參考答案:
[問題1]
數據實時同步更新方案:當數據庫數據更新時,同時更新內存的緩存數據,保持數據的強一致性。異步準實時更新方案:更新數據庫后,通過發布訂閱/MQ異步更新緩存,保持數據的準一致性。
本題中,建議采用數據實時同步更新方案,理由是:題干中明確提出了反饋送達時間功能的性能要求,屬于數據一致性實時要求比較高的應用場景,應該采用數據實時同步更新方案。
[問題2]
完整真題+答案解析可點擊下方藍字獲取!
軟考備考資料免費領取
去領取
專注在線職業教育25年