国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

IM系統架構設計之淺見

移動開發
本文把我近年來從技術上我對IM系統(即時消息的傳輸,不包括語音,視頻,文件的傳輸)的理解和設計分享出來,淺薄之見,望大家別見笑,歡迎給出批評意見。

背景:除去大名鼎鼎的QQ這款即時聊天工具,還有許多細分行業的IM,比如淘寶阿里旺旺、網易泡泡、YY語音......。恰巧公司產品也要開發一款基于我 們自己行業的類IM系統,很有幸我擔當了這個產品的架構師,核心代碼編寫、實現者。下面把我近年來從技術上我對IM系統(即時消息的傳輸,不包括語音,視頻,文件的傳輸)的理解和設計分享出來,淺薄之見,望大家別見笑,歡迎給出批評意見。

一.網絡傳輸協議的選擇

目前我知曉的所有IM系統傳輸即時消息無外乎使用UDP、TCP、基于TCP的http這幾種協議中的一種或幾種。比如QQ主要采用UDP協議,MSN主要采用TCP協議,而且他們也都支持HTTP協議的代理模式。更多資料,請參加這篇文章《一些常用軟件的網絡端口協議分類介紹》

我們該如何選擇呢?

  • UDP協議實時性更好,但是如何處理安全可靠的傳輸并且處理不同客戶端之間的消息交互是個難題,實現起來過于復雜;

  • HTTP協議屬于擴展支持,我們在產品的初始階段可以不用支持;

  • 那就非TCP協議莫屬了,要考慮的同樣也有很多,特別是如果有海量用戶的需求。如何保證單機服務器高并發量,如何做到靈活,擴展的架構。

Tips: QQ 為什么采用 UDP 協議,而不采用 TCP 協議實現?

二.應該選擇什么格式的數據協議

二進制格式?文本格式?這個話題轉到我的這篇文章《網絡傳輸數據格式的選擇》,從我們當前的需求和產品周期上我覺得選擇JSON形式的數據協議是***的。

三.架構設計

首先我們來提煉一下一個IM系統的主要需求,包括賬號,關系鏈,在線狀態顯示,消息交互......。

架構考量:

  • 由于采用可靠傳輸協議TCP,考慮到負載問題(短連接實現賬號、關系鏈相關業務,長連接實現上線、信息推送);

  • 后臺架構的靈活性、可擴展性,支持分布式部署——把網絡層、業務邏輯層、數據層分離,網絡層和業務層支持負載均衡策略、數據層支持分布式存儲;

  • 客戶端SDK的易用性:把網絡層、數據層分離、業務邏輯層分離;

后臺架構簡化圖

架構示意圖

架構細化圖

說明

  • 從< 架構細化圖>中可以看出對于上線服務由于建立的是TCP長連接,對于單臺服務器往往由于硬件資源、系統資源、網絡資源的限制無法做到海量用戶的同時 在線,所以設計為根據服務器負載支持多服務器上線,同時由于多服務器上線造成了對整個系統交互(不同的客戶端的交互,協作部門應用服務和客戶的交互)的分 割,引入消息轉發服務器作為粘合點。另外對于多服務器上線造成的統一賬戶信息(在線狀態,消息)數據的分割,引入統一的數據層(內存存儲 層:session、狀態信息存儲、消息隊列存儲;數據庫:賬號信息存儲)做到業務和數據的分離,也就做到了支持分布式部署。參見我的這篇文章《構建高性能服務的考量》

  • 對于部分業務服務:做到網絡層、業務層、數據層的完全分離。首先對于TCP短連接來說不會如長連接那般消耗資源,即使后期遇到海量的并發訪問請求依然可以從容的通過負載均衡策略和數據分布式部署策略進行解決。參見我的這篇文章《服務端架構中的“網關服務器”》

服務端平臺及技術選型

  • 系統開發平臺: CentOS——Linux發行版的一種,穩定可靠、可定制優化、支持豐富;

  • 網絡支撐層: libevent——減小開發成本,增強穩定性;

  • 緩存存儲層: Redis——支持豐富的存儲結構,支持分布式存儲;

  • 數據庫: MySQL——最適合互聯網的數據庫,免授權、高效穩定、可控性高;

  • 開發語言: C/C++;

部分熱點問題考量

  • 系統性能考量:

    • 編碼角度:采用高效的網絡模型,線程模型,I/O處理模型,合理的數據庫設計和操作語句的優化;

    • 垂直擴展:通過提高單服務器的硬件資源或者網絡資源來提高性能;

    • 水平擴展:通過合理的架構設計和運維方面的負載均衡策略將負載分擔,有效提高性能;后期甚至可以考慮加入數據緩存層,突破IO瓶頸;

  • 系統的高可用性:(防止單點故障)

    • 在架構設計時做到業務處理和數據的分離,從而依賴分布式的部署使得在單點故障時能保證系統可用。

    • 對于關鍵獨立節點可以采用雙機熱備技術進行切換。

    • 數據庫數據的安全性可以通過磁盤陣列的冗余配置和主備數據庫來解決。

主要學習資料: 請自行google。

  • 《1.4億在線背后的故事》;

  • 《BasicDB的架構演變》;

  • 《微信之道-至簡》;

本文出自51博客 “永遠的朋友” ,轉載請務必保留此出處http://yaocoder.blog.51cto.com/2668309/1412029

責任編輯:閆佳明 來源: 51CTO博客
相關推薦

2023-08-16 12:34:16

同步備份異步備份

2023-07-05 08:00:52

MetrAuto系統架構

2023-10-30 17:48:30

架構設計通信

2015-06-02 04:17:44

架構設計審架構設計說明書

2015-06-02 04:34:05

架構設計

2023-07-02 06:47:42

LOFTER系統架構

2009-06-22 14:48:21

DRY架構設計

2012-05-30 09:43:45

業務邏輯層

2014-09-02 10:54:20

架構設計權限系統

2024-09-18 09:04:33

架構模式查詢

2022-06-14 08:02:35

關系模型數據模型文檔模型

2023-04-13 08:23:28

軟件架構設計

2022-06-06 00:43:35

系統架構設計

2024-08-16 14:01:00

2024-10-17 08:26:53

ELKmongodb方案

2013-05-27 10:58:28

Tumblr架構設計雅虎收購

2023-02-22 08:12:30

KafkaSender 線程

2015-10-16 14:35:05

SaaSCRM架構設計

2017-12-12 08:40:00

2022-06-20 09:17:02

數據查詢請求數據庫
點贊
收藏

51CTO技術棧公眾號

极品尤物一区| 精品99视频| 国产精品永久免费视频| 国产精品免费看| 国产成人l区| 你懂的视频在线一区二区| 97在线视频免费看| 国产欧美日本一区二区三区| 亚洲视频www| 国产日产精品_国产精品毛片| 免费看男女www网站入口在线| 亚洲夫妻av| 伊人色综合影院| 久久久久免费视频| 精品国产乱码久久久久久天美| 精品夜夜嗨av一区二区三区| 先锋影音一区二区| 欧美高清视频一区| 欧美在线一区二区三区四| 在线视频中文字幕一区二区| 欧美国产精品v| 日韩成人免费在线| 欧美性www| 国产视频二区在线观看| 欧美日韩高清在线一区| 亚洲精品久久久久久久久久久久久 | 中文字幕制服丝袜在线| 久久成人国产精品| 日韩视频免费看| 国产视频一区在线| 夜夜嗨av色一区二区不卡| 欧美无乱码久久久免费午夜一区| 久久夜色精品国产噜噜av| 午夜国产精品视频免费体验区| 中文在线a√在线8| 尤物国产精品| 欧美在线视频一区二区三区| 66m—66摸成人免费视频| 日韩一卡二卡三卡国产欧美| 国产精品女主播一区二区三区| 成人综合日日夜夜| 69免费视频| 成人免费看片网站| 亚洲аv电影天堂网| 欧美一卡二卡在线| 亚洲尤物精选| caoporn97在线视频| 国产免费视频| a级网站在线播放| 黄色网在线看| 国产高清在线a视频大全 | 亚洲大胆人体在线| 成人高清电影网站| 国产三级精品三级在线观看国产| 僵尸再翻生在线观看免费国语| 久久不射影院| aaa大片在线观看| 欧美日韩在线看片| 在线观看国产福利视频| 国产特级黄色大片| 日韩免费av电影| 国产精品自拍网| 国产精品观看在线亚洲人成网| 日韩欧美国产电影| 欧美日韩国产一区二区| 国产精品欧美综合在线| 黄色精品免费| 久久精品黄色| 国产小视频免费在线观看| 导航艳情国产电影| 欧美日韩一区二区三区在线视频 | 777精品视频| 国产精品欧美激情| 日韩精品视频久久| 91福利在线免费| 一本久久综合| 91激情在线视频| 91手机在线播放| 青青草免费在线视频| 久久免费大视频| 亚洲一二三四在线观看| av蓝导航精品导航| 国产超级va在线视频| 国产成人综合网| 欧美一级电影在线| 成人免费网址在线| 香蕉视频官网在线观看日本一区二区| av亚洲精华国产精华| 在线看日韩av| 好吊色视频988gao在线观看| a√中文在线观看| 美女诱惑一区二区| 日韩一级在线观看| 日韩久久不卡| 乱人伦视频在线| 久久99国产精品麻豆| 亚洲人成五月天| 欧美日韩dvd| av美女在线观看| 国产一区二区精品久久99| 亚洲成人网av| 最新中文字幕久久| 福利一区二区免费视频| 99免费精品视频| 69**夜色精品国产69乱| 国产日本韩国在线播放| 99久久亚洲精品蜜臀| 日韩精品中文字幕在线不卡尤物 | 男人草女人视频| 国产精品中文字幕亚洲欧美| 欧美久久一二区| 日韩国产欧美亚洲| 国产视频网站一区二区三区| 久久激情视频| 久久久亚洲欧洲日产国码aⅴ| 二区在线播放| 日本一区二区三区久久久久久久久不| 亚洲a在线播放| 97成人资源| 岛国av一区二区| 国产午夜大地久久| 久久综合五月| 99porn视频在线| www.神马久久| 日韩三级在线观看| 国模无码视频一区二区三区| 日韩一区电影| 一区二区三区高清国产| 日本免费看黄色| 国产黄色精品网站| 国产日韩欧美日韩大片| 麻豆免费版在线观看| 亚洲综合精品自拍| 国产日韩亚洲欧美在线| 日韩欧美高清在线播放| 亚洲精选在线观看| 精品无吗乱吗av国产爱色| 国产不卡在线一区| 成人在线视频网| 欧美一级免费| 精品人在线二区三区| 污污软件在线观看| 99精品视频在线免费观看| 国产精品成人一区二区三区| 国产99在线| 欧美色视频在线观看| 一区二区xxx| 免费人成网站在线观看欧美高清| 青青草原成人在线视频| 热三久草你在线| 日韩精品一区二区三区在线| 16—17女人毛片毛片| 国产在线国偷精品产拍免费yy | 91精品视频网站| 亚洲成人一品| 中文在线不卡视频| 9lporm自拍视频区在线| 在线看国产日韩| 播九公社成人综合网站| 成人免费看视频| 久久精品日韩| 亚洲网站视频| 国产免费高清一区| 欧美特黄视频| 91丨九色丨国产| 国产欧美日韩视频在线| 日韩在线视频播放| 99tv成人影院| 久久综合色88| av在线成人| 97精品国产97久久久久久免费| 亚洲电影有码| 色偷偷av一区二区三区| 日韩一区二区三区免费| 亚洲女成人图区| www欧美在线观看| 欧美精品videos性欧美| 九九热线有精品视频99| 日本不卡视频在线播放| 精品视频免费| 91精品久久久久久久久久| 亚洲国产精品日韩专区av有中文| 国产男女猛烈无遮挡91| 久久电影院7| av一区二区三区四区电影| 亚洲黄色精品| 欧美午夜精品久久久久久蜜| 日韩经典中文字幕一区| 福利在线一区二区| 久久一区二区视频| www.com黄色片| 亚洲专区一二三| 超碰在线网址| 最近2019中文免费高清视频观看www99 | 国产精品一卡二卡三卡 | 欧美在线视频在线播放完整版免费观看| 日韩av二区| 一本一生久久a久久精品综合蜜| 亚洲国产精华液网站w| 久久精品蜜桃|