服務器中即時通訊聊天記錄怎么存儲?
網(wǎng)友解答: 這個問題有些專業(yè)了。像微信這類高并發(fā)的應用軟件,記錄的存儲應該有幾個層次。首先,近期的記錄,比如可撤回的時間內,這些記錄先保存在內存數(shù)據(jù)庫中。幾分鐘之后,這些記錄才會保存到硬
這個問題有些專業(yè)了。
像微信這類高并發(fā)的應用軟件,記錄的存儲應該有幾個層次。
首先,近期的記錄,比如可撤回的時間內,這些記錄先保存在內存數(shù)據(jù)庫中。幾分鐘之后,這些記錄才會保存到硬盤存儲中。
為了支持高并發(fā)和高速讀取,技術上會將讀寫分離開來,并自動找最近的存儲保存。
讀寫分離是指在保存記錄的時候,先保存放在一個數(shù)據(jù)庫中,同時這些數(shù)據(jù)會慢慢同步到另一個數(shù)據(jù)庫中,當你查閱記錄的時候,就從這個數(shù)據(jù)庫調出來。從而將數(shù)據(jù)的讀和寫分開來,提高數(shù)據(jù)處理的效率。
而為了提高應用體驗,服務商會在全國不同區(qū)域設置服務器,你在北京和深圳,后臺支持的服務器可能是不同的。
過于長久的記錄,會分離到更低速便宜的硬盤中,而過于長久的歷史數(shù)據(jù),服務商會備份在磁帶中。
網(wǎng)友解答:看到有些回答說存儲在本地我就呵呵了,本地的只能算是緩存吧!存儲在服務端是必須的,試想假如只是存儲在本地的話,換臺設備怎么辦?至于說具體的數(shù)據(jù)存儲結構,就比較專業(yè)了吧,需要綜合考慮效率問題吧!不過,一條消息至少一行記錄吧!