亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

web消息通知系統設計問題

web消息通知系統設計問題

楊__羊羊 2019-04-13 08:37:07
一般網站上都會消息提醒通知,如一個用戶給另一個用戶發了一條站內信,那么就會在網站頂部的導航欄上就會有一個消息提醒的數字來提示您有新消息。上面只是一個簡單例子,在實際項目中可能就會有多種類型的提醒,如某個用戶給你留言了,就顯示提醒“新留言x條”或者“新回復y條”等等吧。我打算設計成把所有類型的消息提醒統一的放到一張表(notice)里,并標記用戶是否已處理了這條消息提醒,在網站的前臺就可以只統計這一張表就行了,比如用戶A給用戶B發送了一條私信,就在notice表里插入一條新的未讀消息提醒,用來提醒用戶,當用戶B查看完成私信后,再回到這張notice表標記為已處理或者直接刪除。但是大數據量或高并發的時候就會存在一個問題,當用戶已經查看完了新收到的私信后,去notice表做標記處理時,可能由于種種原因其對應的“未讀消息提醒”還沒有寫進去,這時候就出問題了,當用戶去請求是否有“未讀消息提醒”時,剛好又寫進去了,然后就提示用戶有“新消息”,但是實際上用戶早已處理掉了,只不過就是“未讀消息提醒”延時了。如果說統計新消息提醒,去各個業務(如私信,留言)中單獨統計,然后合并,再通知給用戶,這樣做的話,怎么稱得上是“消息通知系統”呢?總覺得這樣是不合理的對于消息通知系統,我的notice表是否有存在的意義呢,大家是怎么設計的?
查看完整描述

2 回答

?
至尊寶的傳說

TA貢獻1789條經驗 獲得超10個贊

感覺就是系統有了瓶頸,需要一層消息緩存了,直接數據庫讀寫消息效率偏低了,因為數據庫在寫的時候可讀導致數據不一致,消息存在內存中樓上的redis或者memcache中,如果還是會出現寫,讀不一致的情況,應該橫向拓展了吧!
                            
查看完整回答
反對 回復 2019-04-13
  • 2 回答
  • 0 關注
  • 364 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號