聶永的博客

          記錄工作/學習的點點滴滴。

          《環信支持千萬并發即使通訊的技術要點》閱讀摘要

          零。前言

          一天早上起來,偶然機會看到《環信支持千萬并發即使通訊的技術要點》演示文檔,簡單翻閱之后,感覺干貨很多,于是快速記下以下筆記。

          一。IM協議和IM Server

          870671719

          XMPP確實很傳統,WhatsApp選用了,同時經過壓縮、精簡(比如說user字符串使用u字符替代)處理,讓XMPP輕量不少。

          MQTT,如何實現群組、好友呢,這個是業務層面上事情,大家都訂閱某一個主題Topic好了,屬于業務拓展。

          SIP,接觸少。

          微信私有協議ActivitySync,以前在博客上分享過。

          881148668

          正確拼寫是WhatsApp,呵呵。

          881243517

          針對XMPP協議的改進,很有參考價值。

          心跳單向四個字節,在XMPP協議下,估計應該是極限了吧。在私有協議協議下,一來一往兩個字節足夠。

          文件傳輸方式,這是業界通用方式。

          移動互聯網環境下,用戶永遠在線,大家的共識。可是取決于手機有沒有連接到服務器端,這是無法逾越的障礙。

          Muc聊天室,業務層面改進。

          881482479

          這個針對使用OpenFire的同學,很有參考意義。

          話說,我以前也安裝過OpenFire,定制過在線聊天/咨詢的代碼。

          二。移動網絡環境下的網絡、電量等客戶端優化


          868742751

          IM或推送,建立長連接是必須的,可以節省TCP來回創建的開銷,但斷線之后,是否需要即刻重連,尤其是處于地鐵、WIFI邊緣地帶,可能會造成重連風暴,需要添加稍加延遲連接機制。

          針對發送的消息的回執,客戶端一定要發送回執反饋,否則不知道是否發送成功與否。

          868780347

          流量跑馬測速,心跳智能,壓縮傳輸。

          868832358

          Android手機端優化措施,干貨、細節很實用,可以直接拿來用,分享很給力,呵呵!

          批量、合并數據請求/發送,增量更新,這是一個大家都應該使用的常規節省流量手段,應牢記!

          難得的是,分享了:

          2G 文件上傳最佳buffer size 1024個字節,3G/4G下直接設置為10K

          2G 文件下載最佳buffer size 2048個字節,3G/4G下 30K

          絕對經驗的總結,贊!

          心很細,給出了頻繁的屬性訪問直接聲明protected/publish了,不創建新的Java對象只能static類型了。記得很久以前寫J2ME程序時,就用過這樣的方式。

          868936208

          實踐中走過多少彎路才總結出來的同步、繪圖、渲染頁面驚艷,尤其是支持離線方式的數據同步機制,很受用。

          三。百萬級架構經驗分享

          868995894

          雖然很簡單,熟悉TCP/IP協議,這是毫無疑問。

          無狀態協議交互,才能夠很容易水平橫向擴展,也是當今共識。

          讓所有操作都要盡可能的異步

          869119306

          典型的按照機房進行完整部署,若不能夠在DNS層面做到按照用戶ID進行指派(HTTP DNS進行接入IP分配),那么就必須處理用戶亂入機房的問題,必然要做到一些數據的跨機房的同步,大家都會采用增量式同步方式,跨機房一般常見30毫秒的延遲,批量形式增量同步,那都不叫事。

          可以看到業務垂直切分,各個業務之間水平擴展。

          869214857

          貌似可以看到單元化CELL/SET架構的影子,但這只是自己的瞎猜而已。

          PPT上架構圖文字細節不甚清晰,再加上自己近視,分辨不太老好的,可以看到消息存儲使用了Kafka(和數據庫集群之間存定時拉取關系),分布式鎖基于Zookeeper,前端LVS做負載均衡,業務非常垂直。

          在PPT上只看到了兩個機房,若用戶量級上億,可能需要擴展到第三個、第三機房,可能跨機房同步的壓力就就凸顯出來了。

          四。小結

          總之,干貨不少,很給力,再次對劉少壯大牛表示感謝!

          原PPT下載地址:http://vdisk.weibo.com/s/A0GI9rXObFMd

          PS: 若有侵權,請及時告知。

          posted on 2014-10-30 16:15 nieyong 閱讀(12713) 評論(2)  編輯  收藏 所屬分類: 移動后端

          評論

          # re: 《環信支持千萬并發即使通訊的技術要點》閱讀摘要 2014-10-30 22:02 網絡營銷技巧

          不錯,感謝分享  回復  更多評論   

          # re: 《環信支持千萬并發即使通訊的技術要點》閱讀摘要 2014-11-02 15:19 網絡營銷技巧

          感謝分享  回復  更多評論   

          公告

          所有文章皆為原創,若轉載請標明出處,謝謝~

          新浪微博,歡迎關注:

          導航

          <2014年10月>
          2829301234
          567891011
          12131415161718
          19202122232425
          2627282930311
          2345678

          統計

          常用鏈接

          留言簿(58)

          隨筆分類(130)

          隨筆檔案(151)

          個人收藏

          最新隨筆

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 白山市| 清徐县| 县级市| 仙桃市| 库车县| 永靖县| 芜湖市| 织金县| 宁晋县| 容城县| 泗洪县| 祁门县| 余江县| 勃利县| 鄱阳县| 徐州市| 郎溪县| 武安市| 印江| 南木林县| 长阳| 娄底市| 郎溪县| 屏东县| 郸城县| 长岭县| 紫金县| 达尔| 丹江口市| 定兴县| 弋阳县| 九寨沟县| 贵港市| 成安县| 庄河市| 石首市| 堆龙德庆县| 瑞丽市| 昭苏县| 敦化市| 延吉市|