在頭條悟空問答上有個問題“服務器中即時通訊聊天記錄怎麼存儲?"
本人理解出現了偏差,從另一個角度回答了這個問題,但我覺得還是可以給有需要的人一個參考,分享給大家看看吧!
像微信、淘寶、京東這類高併發的應用軟件,記錄的存儲應該有幾個層次。
首先,近期的記錄,比如可撤回的時間內,這些記錄先保存在內存數據庫中。幾分鐘之後,這些記錄才會保存到硬盤存儲中。
為了支持高併發和高速讀取,技術上會將讀寫分離開來,並自動找最近的存儲保存。
讀寫分離是指在保存記錄的時候,先保存放在一個數據庫中,同時這些數據會慢慢同步到另一個數據庫中,當你查閱記錄的時候,就從這個數據庫調出來。從而將數據的讀和寫分開來,提高數據處理的效率。
而為了提高應用體驗,服務商會在全國不同區域設置服務器,你在北京和深圳,後臺支持的服務器可能是不同的。
過於長久的記錄,會分離到更低速便宜的硬盤中,而過於長久的歷史數據,服務商會備份在磁帶中。
閱讀更多 我家有個熊孩子 的文章