<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Jack Jiang

    我的最新工程MobileIMSDK:http://git.oschina.net/jackjiang/MobileIMSDK
    posts - 494, comments - 13, trackbacks - 0, articles - 1

    本文由微信客戶端技術(shù)團隊工程師“Jon”分享,原題“Windows微信:消息數(shù)據(jù)庫架構(gòu)演進”,有較多修訂。

    1、引言

    本文分享的是,微信客戶端團隊基于對微信用戶日常使用場景和數(shù)據(jù)分析,通過分離重要和非重要數(shù)據(jù)、采用可靠的分庫策略等,對微信Windows端IM本地數(shù)據(jù)庫的架構(gòu)進行的優(yōu)化和改造,并最終得到一個具備良好實踐效果的技術(shù)改造方案。

     

    以下是相關(guān)技術(shù)文章,有興趣的讀者可以一并閱讀:

    1. 微信客戶端SQLite數(shù)據(jù)庫損壞修復(fù)實踐
    2. 微信移動端的全文檢索優(yōu)化之路
    3. 微信移動端的全文檢索多音字問題解決方案
    4. 微信iOS端的最新全文檢索技術(shù)優(yōu)化實踐
    5. 微信本地數(shù)據(jù)庫破解版(含iOS、Android),僅供學(xué)習(xí)研究 [附件下載]

    學(xué)習(xí)交流:

    本文已同步發(fā)布于:http://www.52im.net/thread-4034-1-1.html)

    2、背景說明

    微信的Windows客戶端自2014年上線以來,用戶數(shù)穩(wěn)步增長。隨著時間的不斷推移,很多用戶本地積攢的消息量越來越大。

    最初的本地IM數(shù)據(jù)庫設(shè)計秉著遵循“簡單易用、方便管理”的原則,把用戶收到的所有消息都統(tǒng)一存放在用戶當(dāng)前客戶端本地的“同一個SQLite數(shù)據(jù)文件中”。

    (作者注:微信不會保存聊天記錄,聊天內(nèi)容只存儲在用戶手機、電腦等終端設(shè)備上。)

    3、當(dāng)前問題

    由于初期這套本地數(shù)據(jù)庫設(shè)計方案的短板,隨著目前微信使用越來越廣泛、消息堆積越來越多,從而逐漸暴露出了許多技術(shù)問題。

    3.1 問題1:數(shù)據(jù)查詢慢

    隨著使用時間的推移,數(shù)據(jù)也逐漸增多,當(dāng)數(shù)據(jù)量越來越龐大:

    • 1)數(shù)據(jù)庫的查詢和插入效率會受到影響;
    • 2)即使消息數(shù)據(jù)庫存在索引,索引的查詢效率也隨之下降。

    從文件系統(tǒng)的角度,數(shù)據(jù)庫文件是逐頁增長的。因為長時間的使用微信會使得消息量的逐步累積,讓數(shù)據(jù)庫體積逐漸增長,也會導(dǎo)致碎片化更嚴(yán)重,這在機械硬盤下,也會進一步影響讀寫效率。

    對用戶最直觀的影響就是——切換聊天變得很卡,這個問題對于重度用戶尤甚,甚至?xí)霈F(xiàn)點擊聊天就卡頓的情況。

    3.2 問題2:存儲文件大

    隨著時間的推移,消息量的逐步累積,數(shù)據(jù)庫存儲文件的體積也是越來越大,顯著占用用戶存儲空間。

    3.3 問題3:磁盤文件損壞

    磁盤文件意外損壞也有可能導(dǎo)致數(shù)據(jù)丟失。

    因為所有消息都放到一個數(shù)據(jù)庫文件,就類似把所有雞蛋放在一個籃子。

    數(shù)據(jù)庫文件也可能會因為存儲壞道、電腦意外斷電、sqlite自身bug等原因?qū)е聰?shù)據(jù)庫文件發(fā)生損壞。如果發(fā)生損壞時,有可能導(dǎo)致用戶丟失消息數(shù)據(jù)。即使有DB恢復(fù)機制,也無法保證能恢復(fù)出所有歷史記錄。

    當(dāng)這種情況發(fā)生時,對用戶影響十分大,因為聊天記錄可能沒了!

    PS:微信移動端也有類似困擾,有興趣可以閱讀微信客戶端SQLite數(shù)據(jù)庫損壞修復(fù)實踐》。

    4、原因分析

    4.1 概述

    上述數(shù)據(jù)庫存儲文件變大和查詢變慢的問題,都是由于消息數(shù)據(jù)的不斷增多引起。

    但消息數(shù)的增長是無法避免的,那么有沒有辦法控制增長速度,并且控制數(shù)據(jù)庫的大小?

    我們從兩個方向進行分析:消息情況、日常使用場景

    4.2 分析1:消息情況

    微信里的IM消息可分為三大類:

    • 1)單人聊天消息;
    • 2)群聊消息;
    • 3)以及訂閱號/服務(wù)號消息(統(tǒng)稱為公眾號消息)。

    按消息的重要性來說:

    • 1)單聊/群聊消息:這是用戶的私人消息,被刪除或者丟失無法恢復(fù),對用戶損失最大;
    • 2)公眾號的消息:因為只要關(guān)注了公眾號,都可以拉取閱讀,屬于公共消息,所以對用戶來說重要性稍低。

    按消息的大小來說:

    • 1)基于對測試帳號的消息大小數(shù)據(jù)分析,我們發(fā)現(xiàn):占總條數(shù)比例不高的公眾號消息,占用了超過一半的數(shù)據(jù)庫空間;
    • 2)經(jīng)過對測試帳號消息類型的分析:網(wǎng)頁卡片類消息是公眾號消息的主要類型,其平均消息體大小是文本消息的幾十倍。

    4.3 分析2:日常應(yīng)用場景分析

    眾所周知,我們?nèi)粘J褂梦⑿牛际鞘瞻l(fā)消息,或者瀏覽最近的消息。對于更早的消息,我們一般很少會主動去瀏覽。

    越早的消息,瀏覽的概率越低。

    所以:在大多數(shù)場景下,我們要讓最常訪問的消息,不受老數(shù)據(jù)的影響。

    5、解決方案

    5.1 概述

    針對前述問題并結(jié)合上述分析,我們從以下方面對微信Windows端本地SQLite數(shù)據(jù)庫的架構(gòu)進行了演進和優(yōu)化。

    涉及的主要優(yōu)化內(nèi)容和手段有:

    • 1)分庫改造;
    • 2)建立消息索引;
    • 3)消息體積優(yōu)化;
    • 4)提高數(shù)據(jù)庫健壯性。

    下面我們將逐一詳細(xì)介紹。

    5.2 分庫改造

    基于以上分析,首先把公眾號消息劃分出去,存到單獨的一個數(shù)據(jù)庫,跟用戶的普通消息隔離,同時也可以大幅減少普通消息數(shù)據(jù)庫的體積。

    基于日常使用場景的分析,大部分老數(shù)據(jù)讀取的頻率很低,所以應(yīng)該提高最近一段時間的讀寫效率。

    對于上述這種情況,我們采取了以時間和空間動態(tài)劃分?jǐn)?shù)據(jù)庫的方案。初始默認(rèn)值是每個數(shù)據(jù)庫存放半年的消息,超過時間之后新建一個數(shù)據(jù)庫存放。對于大部分使用場景,我們只需要讀寫最新的數(shù)據(jù)庫就可以滿足需求,如果需要瀏覽更早的消息,可以再打開之前的數(shù)據(jù)庫進行讀取。

    除了時間維度,我們還考慮了空間維度的劃分:如果半年內(nèi)消息普通消息規(guī)模超過閾值,也會新建一個數(shù)據(jù)庫進行存儲,讓每個數(shù)據(jù)庫大小和數(shù)據(jù)規(guī)模不至于太大,能提升最近一段時間消息的讀寫效率。

    5.3 建立消息索引

    對于最廣泛的使用場景——查看每一個聊天的消息,這種場景需要對每一個聊天會話建立一個索引。

    這里的索引方案我們參考了安卓端:即將每一個聊天轉(zhuǎn)換成一個數(shù)值型的ID,從而減少每條索引的長度,提高索引的讀寫效率。(關(guān)于微信的移動端SQLite完整數(shù)據(jù)庫結(jié)構(gòu),可以參考:《微信本地數(shù)據(jù)庫破解版(含iOS、Android),僅供學(xué)習(xí)研究 [附件下載]》)

    除此之外,我們還對一些經(jīng)常訪問的內(nèi)容,單獨提取成為一個字段,并且增加索引。比如消息的子類型(這個在老數(shù)據(jù)庫中是一個序列化字段),它沒有索引,但這個字段經(jīng)常需要用到,所以單獨提出成為一列,并且加上索引,為消息按類型查找提供方便。

    5.4 消息體積優(yōu)化

    IM中消息顯然總是會越來越多的,但如何能夠在不影響讀寫效率的同時,減少/壓縮消息數(shù)據(jù)的體積,也是我們的優(yōu)化方向。

    從上面的數(shù)據(jù)看,部分消息體積較大,已經(jīng)超過了數(shù)據(jù)庫每頁的大小(Page Size)。

    數(shù)據(jù)庫是按頁存儲數(shù)據(jù)的,Page Size是數(shù)據(jù)庫一頁能夠容納的數(shù)據(jù)。如果一條數(shù)據(jù),一個頁放不下,就需要用到溢出頁,把多出來放不下的數(shù)據(jù)放到溢出頁中,溢出頁可以有多個。

    這時候,如果讀取這條數(shù)據(jù),就需要把溢出頁也全部讀出來,會增加IO的消耗。

    如果壓縮數(shù)據(jù),能夠把消息體壓縮到一個頁能放得下,減少溢出頁的使用,是可以增加IO性能的。

    SQLite數(shù)據(jù)庫溢出頁結(jié)構(gòu):

    (上圖引用自書籍《The Definitive Guide to SQLite》第308頁)

    PS:The Definitive Guide to SQLite》這本書的電子版我也給你找到了,請從下面附件處下載:

     The Definitive Guide to SQLite (2nd edition, 2010)-52im.net.pdf.zip (3.61 MB)

    但是壓縮需要占用CPU資源,這里選擇一種能夠平衡性能和壓縮率的算法是關(guān)鍵。

    經(jīng)過對比壓縮算法的Benchmark,并且對消息體壓縮性進行實測,最終選擇了一個高性能壓縮算法:lz4。

    經(jīng)過對測試帳號的數(shù)據(jù)分析,不同類型的消息體大小差異較大。

    一般來說:文本消息的長度不會特別大,但是網(wǎng)頁卡片類型的消息,體積會較大。由于不同的消息長度,獲得的壓縮率不一樣,太短的文本長度,壓縮起來并沒有意義。

    所以經(jīng)過消息體長度、壓縮、,壓縮性能的分析,最終確定對網(wǎng)頁卡片等進行壓縮,在較低性能消耗的前提下,綜合壓縮率可達到40%,減少了IO次數(shù) 。

    5.5 提高健壯性

    如果數(shù)據(jù)庫文件由于外部原因發(fā)生損壞,則會對體驗造成較大影響。降低損壞率和減少損壞帶來的數(shù)據(jù)損失,也是我們改進的方向。

    按照時間維度劃分?jǐn)?shù)據(jù)庫之后,相當(dāng)于把消息按時間分散存儲。最新的數(shù)據(jù)庫負(fù)責(zé)讀寫最近的消息,其余的數(shù)據(jù)庫只需要根據(jù)需求支持瀏覽查看消息。

    對于老數(shù)據(jù)庫而言:可以做到按需加載,從而減少了對數(shù)據(jù)庫的讀寫,也減少了這些數(shù)據(jù)庫損壞的幾率。一旦有數(shù)據(jù)庫出現(xiàn)損壞,即使無法恢復(fù),也不會所有消息全部丟失,只會丟失該數(shù)據(jù)庫對應(yīng)時間段的消息,這也可以減少部分?jǐn)?shù)據(jù)庫損壞帶來的損失。

    在早期使用的單數(shù)據(jù)庫架構(gòu)中,由于數(shù)據(jù)會越攢越多,數(shù)據(jù)庫體積會持續(xù)變大,很難去做備份。分庫之后,每個數(shù)據(jù)庫體積變小,因而數(shù)據(jù)庫備份變得更為可行。因為最新的數(shù)據(jù)庫存在頻繁的消息讀寫,發(fā)生損壞的概率遠(yuǎn)高于老數(shù)據(jù)庫,所以這里對最新的一個數(shù)據(jù)庫做定期的備份。

    默認(rèn)配置下,我們每間隔一段時間會對最新的數(shù)據(jù)庫進行一次備份,該備份是最新的一個數(shù)據(jù)庫的完整拷貝。若最新的數(shù)據(jù)庫在讀寫時發(fā)生損壞,會先嘗試從備份數(shù)據(jù)恢復(fù)。若恢復(fù)成功,則最多丟失從備份到恢復(fù)這段時間的數(shù)據(jù),進一步降低損壞造成的損失。

    6、優(yōu)化對比

    經(jīng)過對比,對于一個在測試帳號中原始的消息數(shù)據(jù)庫,壓縮后大小可以減少接近一半,同時溢出頁數(shù)和需要使用溢出頁的記錄數(shù)減少也超過一半。

    對于讀寫性能,對比壓縮前,壓縮后的讀取和解壓縮性能比之前有接近10%的提升。

    7、未來展望

    后續(xù)我們微信客戶端團隊將繼續(xù)研究數(shù)據(jù)庫修復(fù)相關(guān)的實踐,持續(xù)關(guān)注數(shù)據(jù)庫相關(guān)的性能數(shù)據(jù),提升可靠性,打造更好的用戶體驗!

    附錄:更多大廠IM文章匯總

    [1] 微信團隊原創(chuàng)技術(shù)文章:

    1. 微信朋友圈千億訪問量背后的技術(shù)挑戰(zhàn)和實踐總結(jié)
    2. IM全文檢索技術(shù)專題(二):微信移動端的全文檢索多音字問題解決方案
    3. 微信團隊分享:iOS版微信的高性能通用key-value組件技術(shù)實踐
    4. 微信團隊分享:iOS版微信是如何防止特殊字符導(dǎo)致的炸群、APP崩潰的?
    5. 微信團隊原創(chuàng)分享:iOS版微信的內(nèi)存監(jiān)控系統(tǒng)技術(shù)實踐
    6. iOS后臺喚醒實戰(zhàn):微信收款到賬語音提醒技術(shù)總結(jié)
    7. 微信團隊分享:視頻圖像的超分辨率技術(shù)原理和應(yīng)用場景
    8. 微信團隊分享:微信每日億次實時音視頻聊天背后的技術(shù)解密
    9. 微信團隊分享:微信Android版小視頻編碼填過的那些坑
    10. IM全文檢索技術(shù)專題(一):微信移動端的全文檢索優(yōu)化之路
    11. 企業(yè)微信客戶端中組織架構(gòu)數(shù)據(jù)的同步更新方案優(yōu)化實戰(zhàn)
    12. 微信團隊披露:微信界面卡死超級bug“15。。。。”的來龍去脈
    13. 月活8.89億的超級IM微信是如何進行Android端兼容測試的
    14. 一篇文章get微信開源移動端數(shù)據(jù)庫組件WCDB的一切!
    15. 微信客戶端團隊負(fù)責(zé)人技術(shù)訪談:如何著手客戶端性能監(jiān)控和優(yōu)化
    16. 微信后臺基于時間序的海量數(shù)據(jù)冷熱分級架構(gòu)設(shè)計實踐
    17. 微信團隊原創(chuàng)分享:Android版微信的臃腫之困與模塊化實踐之路
    18. 微信后臺團隊:微信后臺異步消息隊列的優(yōu)化升級實踐分享
    19. 微信團隊原創(chuàng)分享:微信客戶端SQLite數(shù)據(jù)庫損壞修復(fù)實踐
    20. 微信Mars:微信內(nèi)部正在使用的網(wǎng)絡(luò)層封裝庫,即將開源
    21. 如約而至:微信自用的移動端IM網(wǎng)絡(luò)層跨平臺組件庫Mars已正式開源
    22. 開源libco庫:單機千萬連接、支撐微信8億用戶的后臺框架基石 [源碼下載]
    23. 微信新一代通信安全解決方案:基于TLS1.3的MMTLS詳解
    24. 微信團隊原創(chuàng)分享:Android版微信后臺保活實戰(zhàn)分享(進程保活篇)
    25. 微信團隊原創(chuàng)分享:Android版微信后臺保活實戰(zhàn)分享(網(wǎng)絡(luò)保活篇)
    26. Android版微信從300KB到30MB的技術(shù)演進(PPT講稿) [附件下載]
    27. 微信團隊原創(chuàng)分享:Android版微信從300KB到30MB的技術(shù)演進
    28. 微信技術(shù)總監(jiān)談架構(gòu):微信之道——大道至簡(演講全文)
    29. 微信技術(shù)總監(jiān)談架構(gòu):微信之道——大道至簡(PPT講稿) [附件下載]
    30. 如何解讀《微信技術(shù)總監(jiān)談架構(gòu):微信之道——大道至簡》
    31. 微信海量用戶背后的后臺系統(tǒng)存儲架構(gòu)(視頻+PPT) [附件下載]
    32. 微信異步化改造實踐:8億月活、單機千萬連接背后的后臺解決方案
    33. 微信朋友圈海量技術(shù)之道PPT [附件下載]
    34. 微信對網(wǎng)絡(luò)影響的技術(shù)試驗及分析(論文全文)
    35. 一份微信后臺技術(shù)架構(gòu)的總結(jié)性筆記
    36. 架構(gòu)之道:3個程序員成就微信朋友圈日均10億發(fā)布量[有視頻]
    37. 快速裂變:見證微信強大后臺架構(gòu)從0到1的演進歷程(一)
    38. 快速裂變:見證微信強大后臺架構(gòu)從0到1的演進歷程(二)
    39. 微信團隊原創(chuàng)分享:Android內(nèi)存泄漏監(jiān)控和優(yōu)化技巧總結(jié)
    40. 全面總結(jié)iOS版微信升級iOS9遇到的各種“坑”
    41. 微信團隊原創(chuàng)資源混淆工具:讓你的APK立減1M
    42. 微信團隊原創(chuàng)Android資源混淆工具:AndResGuard [有源碼]
    43. Android版微信安裝包“減肥”實戰(zhàn)記錄
    44. iOS版微信安裝包“減肥”實戰(zhàn)記錄
    45. 移動端IM實踐:iOS版微信界面卡頓監(jiān)測方案
    46. 微信“紅包照片”背后的技術(shù)難題
    47. 移動端IM實踐:iOS版微信小視頻功能技術(shù)方案實錄
    48. 移動端IM實踐:Android版微信如何大幅提升交互性能(一)
    49. 移動端IM實踐:Android版微信如何大幅提升交互性能(二)
    50. 移動端IM實踐:實現(xiàn)Android版微信的智能心跳機制
    51. 移動端IM實踐:iOS版微信的多設(shè)備字體適配方案探討
    52. IPv6技術(shù)詳解:基本概念、應(yīng)用現(xiàn)狀、技術(shù)實踐(上篇)
    53. IPv6技術(shù)詳解:基本概念、應(yīng)用現(xiàn)狀、技術(shù)實踐(下篇)
    54. 微信多媒體團隊訪談:音視頻開發(fā)的學(xué)習(xí)、微信的音視頻技術(shù)和挑戰(zhàn)等
    55. 騰訊技術(shù)分享:微信小程序音視頻技術(shù)背后的故事
    56. 微信多媒體團隊梁俊斌訪談:聊一聊我所了解的音視頻技術(shù)
    57. 騰訊技術(shù)分享:微信小程序音視頻與WebRTC互通的技術(shù)思路和實踐
    58. 微信技術(shù)分享:微信的海量IM聊天消息序列號生成實踐(算法原理篇)
    59. 微信技術(shù)分享:微信的海量IM聊天消息序列號生成實踐(容災(zāi)方案篇)
    60. 微信團隊分享:Kotlin漸被認(rèn)可,Android版微信的技術(shù)嘗鮮之旅
    61. 社交軟件紅包技術(shù)解密(二):解密微信搖一搖紅包從0到1的技術(shù)演進
    62. 社交軟件紅包技術(shù)解密(三):微信搖一搖紅包雨背后的技術(shù)細(xì)節(jié)
    63. 社交軟件紅包技術(shù)解密(四):微信紅包系統(tǒng)是如何應(yīng)對高并發(fā)的
    64. 社交軟件紅包技術(shù)解密(五):微信紅包系統(tǒng)是如何實現(xiàn)高可用性的
    65. 社交軟件紅包技術(shù)解密(六):微信紅包系統(tǒng)的存儲層架構(gòu)演進實踐
    66. 社交軟件紅包技術(shù)解密(十一):解密微信紅包隨機算法(含代碼實現(xiàn))
    67. 微信團隊分享:極致優(yōu)化,iOS版微信編譯速度3倍提升的實踐總結(jié)
    68. IM“掃一掃”功能很好做?看看微信“掃一掃識物”的完整技術(shù)實現(xiàn)
    69. 微信團隊分享:微信支付代碼重構(gòu)帶來的移動端軟件架構(gòu)上的思考
    70. IM開發(fā)寶典:史上最全,微信各種功能參數(shù)和邏輯規(guī)則資料匯總
    71. 微信團隊分享:微信直播聊天室單房間1500萬在線的消息架構(gòu)演進之路
    72. 企業(yè)微信的IM架構(gòu)設(shè)計揭秘:消息模型、萬人群、已讀回執(zhí)、消息撤回等
    73. IM全文檢索技術(shù)專題(四):微信iOS端的最新全文檢索技術(shù)優(yōu)化實踐
    74. 微信團隊分享:微信后臺在海量并發(fā)請求下是如何做到不崩潰的
    75. 微信Windows端IM消息數(shù)據(jù)庫的優(yōu)化實踐:查詢慢、體積大、文件損壞等
    76. >> 更多同類文章 ……

    [2] 微信背后的技術(shù)故事:

    1. 技術(shù)往事:微信估值已超5千億,雷軍曾有機會收編張小龍及其Foxmail
    2. 騰訊開發(fā)微信花了多少錢?技術(shù)難度真這么大?難在哪?
    3. 開發(fā)往事:深度講述2010到2015,微信一路風(fēng)雨的背后
    4. 開發(fā)往事:微信千年不變的那張閃屏圖片的由來
    5. 開發(fā)往事:記錄微信3.0版背后的故事(距微信1.0發(fā)布9個月時)
    6. 一個微信實習(xí)生自述:我眼中的微信開發(fā)團隊
    7. 微信七年回顧:歷經(jīng)多少質(zhì)疑和差評,才配擁有今天的強大
    8. 前創(chuàng)始團隊成員分享:盤點微信的前世今生——微信成功的必然和偶然
    9. 即時通訊創(chuàng)業(yè)必讀:解密微信的產(chǎn)品定位、創(chuàng)新思維、設(shè)計法則等
    10. [技術(shù)腦洞] 如果把14億中國人拉到一個微信群里技術(shù)上能實現(xiàn)嗎?
    11. 那些年微信開發(fā)過的雞肋功能,及其帶給我們的思考
    12. 讀懂微信:從1.0到7.0版本,一個主流IM社交工具的進化史
    13. 專訪馬化騰:首次開談個人經(jīng)歷、管理心得、技術(shù)創(chuàng)新、微信的誕生等
    14. 一文讀懂微信之父張小龍:失敗天才、顛覆者、獨裁者、人性操控師
    15. >> 更多同類文章 ……

    [3] 阿里巴巴的技術(shù)分享:

    1. 阿里釘釘技術(shù)分享:企業(yè)級IM王者——釘釘在后端架構(gòu)上的過人之處
    2. 現(xiàn)代IM系統(tǒng)中聊天消息的同步和存儲方案探討
    3. 阿里技術(shù)分享:深度揭秘阿里數(shù)據(jù)庫技術(shù)方案的10年變遷史
    4. 阿里技術(shù)分享:阿里自研金融級數(shù)據(jù)庫OceanBase的艱辛成長之路
    5. 來自阿里OpenIM:打造安全可靠即時通訊服務(wù)的技術(shù)實踐分享
    6. 釘釘——基于IM技術(shù)的新一代企業(yè)OA平臺的技術(shù)挑戰(zhàn)(視頻+PPT) [附件下載]
    7. 阿里技術(shù)結(jié)晶:《阿里巴巴Java開發(fā)手冊(規(guī)約)-華山版》[附件下載]
    8. 重磅發(fā)布:《阿里巴巴Android開發(fā)手冊(規(guī)約)》[附件下載]
    9. 作者談《阿里巴巴Java開發(fā)手冊(規(guī)約)》背后的故事
    10. 《阿里巴巴Android開發(fā)手冊(規(guī)約)》背后的故事
    11. 干了這碗雞湯:從理發(fā)店小弟到阿里P10技術(shù)大牛
    12. 揭秘阿里、騰訊、華為、百度的職級和薪酬體系
    13. 淘寶技術(shù)分享:手淘億級移動端接入層網(wǎng)關(guān)的技術(shù)演進之路
    14. 難得干貨,揭秘支付寶的2維碼掃碼技術(shù)優(yōu)化實踐之路
    15. 淘寶直播技術(shù)干貨:高清、低延時的實時視頻直播技術(shù)解密
    16. 阿里技術(shù)分享:電商IM消息平臺,在群聊、直播場景下的技術(shù)實踐
    17. 阿里技術(shù)分享:閑魚IM基于Flutter的移動端跨端改造實踐
    18. 阿里IM技術(shù)分享(三):閑魚億級IM消息系統(tǒng)的架構(gòu)演進之路
    19. 阿里IM技術(shù)分享(四):閑魚億級IM消息系統(tǒng)的可靠投遞優(yōu)化實踐
    20. 阿里IM技術(shù)分享(五):閑魚億級IM消息系統(tǒng)的及時性優(yōu)化實踐
    21. 阿里IM技術(shù)分享(六):閑魚億級IM消息系統(tǒng)的離線推送到達率優(yōu)化
    22. 阿里IM技術(shù)分享(七):閑魚IM的在線、離線聊天數(shù)據(jù)同步機制優(yōu)化實踐
    23. 阿里IM技術(shù)分享(八):深度解密釘釘即時消息服務(wù)DTIM的技術(shù)設(shè)計

    本文已同步發(fā)布于:http://www.52im.net/thread-4034-1-1.html



    作者:Jack Jiang (點擊作者姓名進入Github)
    出處:http://www.52im.net/space-uid-1.html
    交流:歡迎加入即時通訊開發(fā)交流群 215891622
    討論:http://www.52im.net/
    Jack Jiang同時是【原創(chuàng)Java Swing外觀工程BeautyEye】【輕量級移動端即時通訊框架MobileIMSDK】的作者,可前往下載交流。
    本博文 歡迎轉(zhuǎn)載,轉(zhuǎn)載請注明出處(也可前往 我的52im.net 找到我)。


    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    Jack Jiang的 Mail: jb2011@163.com, 聯(lián)系QQ: 413980957, 微信: hellojackjiang
    主站蜘蛛池模板: 亚洲精品高清无码视频| 久久久久亚洲AV无码专区首| 最近2018中文字幕免费视频| 日韩大片免费观看视频播放| 久久久久se色偷偷亚洲精品av | 亚洲色成人中文字幕网站| 好爽又高潮了毛片免费下载| 久久不见久久见免费视频7| xxxxxx日本处大片免费看| 亚洲成av人片天堂网无码】| 亚洲婷婷综合色高清在线| 亚洲老妈激情一区二区三区| 又爽又高潮的BB视频免费看 | 亚洲AV乱码一区二区三区林ゆな| 国产一级淫片视频免费看| 99精品全国免费观看视频| 18级成人毛片免费观看| a级毛片无码免费真人久久| 男女猛烈激情xx00免费视频| 蜜桃传媒一区二区亚洲AV| 亚洲高清视频在线| 亚洲一级片在线播放| 91在线亚洲精品专区| 无码久久精品国产亚洲Av影片| 国产亚洲精品久久久久秋霞 | 免费精品久久久久久中文字幕| 亚洲av无码兔费综合| 亚洲国产区男人本色| 亚洲精品GV天堂无码男同| 亚洲色大成网站WWW国产| 亚洲熟妇无码av另类vr影视| 久久综合久久综合亚洲| 亚洲一线产区二线产区区| 伊人久久五月丁香综合中文亚洲| 色噜噜亚洲男人的天堂| 亚洲国产乱码最新视频| 亚洲欧美日韩中文二区| 色天使色婷婷在线影院亚洲| 国产精品亚洲二区在线| 午夜免费国产体验区免费的 | 亚洲日韩乱码中文无码蜜桃臀网站|