陪玩游戲系統(tǒng)開發(fā),消息的同步和存儲如何實(shí)現(xiàn)?
像陪玩游戲系統(tǒng)這種具備著高度社交屬性的應(yīng)用,在開發(fā)時(shí)IM功能一定必不可少,陪玩游戲系統(tǒng)中的音視頻通話、私信聊天、多人語音聊天室等功能的實(shí)現(xiàn)都需要IM即時(shí)通訊的支持,在IM系統(tǒng)中最核心的部分非消息系統(tǒng)莫屬。
?
一、消息系統(tǒng)的核心功能
1、消息的同步
消息的同步指的是在陪玩游戲系統(tǒng)中,能將消息完整、快速地從發(fā)送端傳輸至接收端。衡量消息同步的重要指標(biāo)是消息在傳輸過程中的實(shí)時(shí)性、完整性和能支撐的消息規(guī)模。一般陪玩游戲系統(tǒng)的消息同步需要至少支持在線消息推送和離線消息推送。
2、消息的存儲
在陪玩游戲系統(tǒng)中消息的存儲并不是指在客戶端本地的保存,而是指云端上消息的持久化保存,也就是我們經(jīng)常提到的消息漫游。實(shí)現(xiàn)消息漫游能保證用戶使用不同登錄端登錄陪玩游戲系統(tǒng)后,都能查看歷史消息。
?
二、不同架構(gòu)下同步與存儲的實(shí)現(xiàn)
1、傳統(tǒng)架構(gòu)下,消息先同步后存儲
(1)如果陪玩游戲系統(tǒng)采用傳統(tǒng)的架構(gòu),那么對于在線的用戶來說,消息會直接從發(fā)送端同步到接收端,并且消息同步后還不會持久化保存;
(2)對于離線用戶,發(fā)送端發(fā)送的消息因?yàn)闊o法成功傳輸至接收端,所以會先保存在陪玩游戲系統(tǒng)離線庫中,當(dāng)接收端在線后,會直接從離線庫拉取消息,而離線庫會將之前存儲的消息刪除。
2、現(xiàn)代架構(gòu)下,消息先存儲后同步
現(xiàn)代架構(gòu)下的陪玩游戲系統(tǒng)能保證的是,一旦接收端接收到了消息,也就證明該消息已經(jīng)保存在云端了。在現(xiàn)代架構(gòu)下消息會由消息存儲庫和消息同步庫兩個(gè)庫進(jìn)行保存。
(1)對于陪玩游戲系統(tǒng)在線用戶,當(dāng)消息發(fā)送出去之后,會經(jīng)過服務(wù)端實(shí)現(xiàn)轉(zhuǎn)發(fā),服務(wù)端就會將接收到的消息保存到消息存儲庫中,然后再保存到消息同步可,完成相應(yīng)的保存之后,在線的接收端會選擇更優(yōu)的傳輸路徑進(jìn)行在線推送。
(2)對于陪玩游戲系統(tǒng)的離線用戶來說,接收端會主動(dòng)從服務(wù)端拉取所有位同步的消息,因?yàn)榻邮斩耸裁磿r(shí)候進(jìn)行拉取是未知的,所以就需要服務(wù)端保存所有需要同步至接收端的消息,這也是消息同步庫的主要作用。
?
根據(jù)上述分析可知,相對于傳統(tǒng)架構(gòu),現(xiàn)代架構(gòu)實(shí)現(xiàn)的消息同步和存儲效果更好,而且將其用在陪玩游戲系統(tǒng)中能帶給用戶更好的使用體驗(yàn),尤其是消息存儲庫所具備的消息漫游功能,解決了不同端登錄聊天內(nèi)容不同步的問題,IM系統(tǒng)對于陪玩游戲系統(tǒng)的開發(fā)確實(shí)有著舉足輕重的作用。