想起一句話:”多加一層,就可以把問題解決了“
近段時間在做HA(高可用)的設計,資料庫使用Mongodb,測試場景是1主2從
測試發現,在往Mongodb批次寫入資料(100w的資料)時,主節點當機,當前請求會丟擲異常,下一請求自動切換到從節點上,而且100w的資料中有30w+的資料已同步到從節點上,說明Mongodb在執行CRUD時如果主節點當機會丟擲異常並且不能保證資料的一致性,即100w資料要麼全部插入,要麼全部不插入。
因此,在應用層和Mongodb之間多加一層資料訪問層(DAO),在DAO中捕獲異常後,清除本次出錯操作的狀態(如清除部分已插入的資料等),並重新執行,從而實現對應用的全透明。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/6906/viewspace-1989173/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ORACLE一句話問答(一)Oracle
- 解決原子性問題?腦海中有這個模型就可以了模型
- ORACLE 一句話問答(二)Oracle
- 一句話解釋數字簽名。一句話解釋數字證書
- iOS中一句程式碼解決倒數計時問題iOS
- 解決了一個PC的問題
- 終於,解決了一個大問題
- 解決超過會話數問題會話
- WebAssembly解決了哪些業務問題?Web
- 資料庫層面問題解決思路資料庫
- wmode解決flash透明及層深問題
- 一句話入門SEO
- Linux一句話收藏Linux
- SAP一句話入門:Production Planning 寫的太猛了
- 一文揭秘DDD到底解決了什麼問題
- 更新了java 8 之後一個小問題解決Java
- 一次ASM空間滿了的問題解決ASM
- 解決小程式遮罩層滾動穿透問題遮罩穿透
- Promise到底解決了什麼問題?Promise
- 離職,問題就解決了嗎?
- 解決「問題」,不要解決問題
- 一句話理解設計模式設計模式
- 一句話總結原型鏈原型
- 摘抄biti大師一句話
- Linux 一句話命令收藏Linux
- 一句話經驗總結
- 一句話解釋c#中的特性,你瞭解多少C#
- 解決彈出層被Flash擋住的問題
- Josephus問題解決方法一
- 混合雲管理問題,你解決了麼?
- Webpack的理解以及解決了的問題Web
- ES6解決了什麼問題
- 一句話為你解讀Oracle資料庫選件Oracle資料庫
- 一句話設計模式,不再迷路~設計模式
- 一句話區分currentTarget和target
- 一句話總結隨機森林隨機森林
- 萌新之php一句話木馬PHP
- swift 定位封裝一句話使用Swift封裝