直播帶貨源碼,IM消息系統(tǒng)的實(shí)踐要看這兩點(diǎn)之間的協(xié)調(diào)
IM消息系統(tǒng)中,除了實(shí)時消息外,離線消息和歷史消息都是需要直播帶貨源碼專門開發(fā)的,對于在線用戶,直播帶貨源碼只需要滿足實(shí)時發(fā)送的消息即可,消息發(fā)送成功后,服務(wù)器端不會對消息進(jìn)行落地儲存。對離線用戶來說,服務(wù)器端會將消息存入到離線庫中,用戶登錄后直接從離線庫拉取消息,從這里就能簡單劃分離線消息和歷史消息的不同,歷史消息支持漫游而離線消息不支持。
?

一、兩種消息的不同點(diǎn)
1、離線消息是用戶在離線過程中收到的消息,具有一定的時效性,但直播帶貨源碼不會長期保存這些消息,有一定的時間限制。離線消息包含很多種,比如對方不在線、掉線、對方系統(tǒng)崩潰、服務(wù)器發(fā)送時出錯等,無法實(shí)時發(fā)送的消息都?xì)w為離線消息
2、歷史消息儲存了用戶所有的聊天消息,包括發(fā)出的消息以及接收到的消息,這類消息的儲存時間就比較久了,而且會根據(jù)直播帶貨源碼所在設(shè)備的不同,可能會出現(xiàn)無法同步的情況
?

二、兩種消息儲存模式
首先離線消息的儲存介質(zhì)選用的是Redis,其次儲存模式可以分兩種:擴(kuò)散寫(離線消息)和擴(kuò)散讀(歷史消息)
1、擴(kuò)散寫的優(yōu)點(diǎn)在于,接收端的邏輯會非常清晰簡單,只需要從收件箱里讀取一次即可,大大降低了直播帶貨源碼同步消息所需的讀壓力;缺點(diǎn)是寫入會被成指數(shù)的放大,特別在針對群場景下
2、擴(kuò)散讀是歷史消息的儲存模式,優(yōu)點(diǎn)在于寫入次數(shù)降低,直播帶貨源碼不需要那么多資源投入到寫模式上,特別是群消息,發(fā)送一次就行;缺點(diǎn)是接收端接收消息復(fù)雜切低效,可能會產(chǎn)生無效讀的情況
?

對直播帶貨源碼來說,沒有什么消息模式是永恒的,都是根據(jù)離線和歷史消息的不同場景選擇寫擴(kuò)散和讀擴(kuò)散的組合模式,場景不同適合的方案也不一樣。對直播帶貨源碼來說,這種模式下準(zhǔn)備另一套備用方案就顯得很有必要了,來回切換往往能達(dá)到更好的效果。
聲明:以上內(nèi)容為云豹科技作者本人原創(chuàng),未經(jīng)作者本人同意,禁止轉(zhuǎn)載,否則將追究相關(guān)法律責(zé)任