訊息漫遊在即時通訊領域是相對高階的功能,很多社交軟體沒有提供該功能,下面我們來分析下子彈簡訊訊息漫遊的技術實現。
即時通訊中產生了海量的訊息,如果使用了訊息漫遊的功能,訊息的儲存就是乙個不小的挑戰。首先使用者在會話中產生的訊息是有個timeline的,在儲存上也需要按照時間來儲存。圖中給出了兩種儲存方式,1中的寫入方式是按照會話來存的,這樣存訊息的好處是,多個人的訊息只存乙份,即按照會話來儲存,但是這種方式帶來了乙個問題,就是a要拉取訊息記錄時需要去a的每個會話中分別讀取,產生了讀擴散;2中的寫入方式是按照使用者來存的,這樣存訊息的好處是讀取方便,但是乙個會話的訊息被存了多次,產生了寫擴散。
上面介紹的兩種儲存方式各有優缺點,究竟哪一種儲存方式更好呢?
首先來看下即時通訊的應用場景,對於訊息記錄寫入非常頻繁,而讀取動作一般發生在登陸時的情況較少;再來看下db選型:使用寫擴散方式時一條訊息會寫入兩條記錄,讀取時一次可查詢出所有記錄;使用讀擴散方式時一條訊息寫入一條記錄,讀取時需要根據會話數量讀取多次;傳統的關係型資料庫應對讀擴散會非常吃力,只能使用寫擴散的方式實現,如果使用nosql資料庫儲存則兩種方式都可以實現。
子彈簡訊使用了記憶體資料庫+時間序列資料庫的儲存方式。記憶體資料庫採用讀擴散的方式儲存近期訊息,時間序列資料庫則採用寫擴散的方式儲存歷史訊息。這樣的儲存方式有以下幾個考量:
作為即使通訊paas平台,需要對業務方提供訊息內容審核機制,也要對監管方提供訊息資料。中心化的集中儲存實現訊息內容審核較容易,也能及時響應監管方的訊息核查需求。
保證訊息不丟失,im系統中心化有助於實現多端漫遊功能,用於解決使用者在多個裝置,多個場景下切換賬號時訊息同步的問題,提公升了使用者體驗。
在資料訪問的制度管理上:平台方一般會使用私有雲方案,資料中心均不提供外網訪問,租戶網路下訪問也加入了許可權限制
在資料儲存的安全方面:使用了私有協議的資料編碼和加密機制訪問訊息,即使發生了拖庫也無法解出訊息內容
在資料傳輸協議方面:網路通訊使用了自定義編譯碼報文和加密演算法,api介面等支援ssl加密,輔之以業務層鑑權機制,有效保證了資訊的傳輸安全。
以上就是對於子彈簡訊訊息漫遊技術**。
子彈簡訊抄襲網易雲信?羅永浩回應
8 月 31 日,有知乎指出,快如科技旗下的子彈簡訊app是基於網易雲信sdk dwww.cppcns.comemo魔改的套殼聊天ui。程式設計客棧 網易雲信官方微博表示,雲信是專門提供im和音 的paas產品,我們專門提供技術支援,平台有幾十萬企業和開發者,不存在抄襲。錘子科技ceo羅永浩回應 感...
子彈簡訊引發的思考
壟斷,對於任何乙個國家和名族都不是一件好事。反之,有針對性的創新,細分出自己的核心使用者群體,給使用者帶來體驗上的 效率上的改變,才是網際網路公司更應該專注的事。君不見,長江和黃河共生於祖國這一片廣博的大地?並都養育了一方人。它並不像探探陌陌一樣的陌生人社交,基因中就帶有 屬性,不方便在熟人中進行傳...
網易雲信全面技術支援,讓「子彈簡訊」飛得更快
誰也沒有想到,在im這片被巨頭們早已穩固的紅海,子彈簡訊會掀起一陣巨浪。近日,子彈簡訊橫空出世,一度攀居app store免費總榜第一名。同時,子彈 也炸翻了創投圈,上線短短7天,子彈簡訊融資1.5億,堪稱史上最快完成的融資事件。五十多家投資機構還在排隊等待充值,努力爭搶子彈簡訊的份額。高效溝通新方...