採用私有im協議
db(使用者、好友等):採用分割槽分段的方式劃分db, 不同的db分成不同的區,維護不同段的使用者.
cluster: 前面有乙個負責分配節點的伺服器,使用者的請求可以由任何乙個邏輯伺服器來處理。邏輯伺服器之間網狀結構。
使用者所在節點find方法, 可能是詢問所有網內節點,然後在本地cache.
每個邏輯伺服器到各個分割槽的資料庫都有連線,邏輯伺服器根據使用者所在的區,訪問相應的資料庫,訪問使用者的資料。
cache: 自定義的local cache: userinfocachemodule,未使用分布式快取
容量:目前支援40萬併發,作者感覺可以支援到100萬
邏輯圖http://hi.baidu.com/jabber/blog/item/23973ed13a70413c9b5027b7.html
乙個支援40萬併發使用者的即時通訊架構介紹
乙個支援40萬併發使用者的 企業即時通訊架構介紹 2008年04月07日 星期一 13 17 前言 看了些討論類似qq的系統的文章,自己以前參與的乙個專案,就做這個,不過規模相對小點。寫份文件,旨在清理清理思路,交流一下經驗。這裡的一些模組名稱 acs nas 採用了以前公司的命名方式,我覺得這麼用...
設計乙個高併發IM即時通訊軟體的思路要點
假如要我設計乙個qq,訪問量在百萬級別併發。大致功能點 1 上線通知 2 群的訊息顯示 3 傳送訊息 4 良好擴充套件性。增加使用者能直接通過增加機器解決 5 穩定性 6 高效能 相關資料效能。1 單個節點能支援一萬左右的使用者登入 2 使用mysql資料庫儲存使用者資訊 處理策略 1 資料庫上如果...
如何實現乙個可靠的IM即時通訊應用
目前的im即時應用很多,可以有以下幾種思路 假如你有伺服器,可以採用多個客戶端連線到伺服器上,伺服器進行訊息 使用長連線的方式。可以採用xmpp協議,伺服器可以參考開源openfire。假如你沒有伺服器,可以借助第三方的im平台,通過客戶端連線到平台上,讓平台代為 訊息。這個的優勢是,不用自己開發維...