Node.js+Socket.io訊息中心實施之二 架構與主要功能

百聯達發表於2014-07-11
Node.js+Socket.io訊息中心實施之二 架構與主要功能
 

1.                訊息中心(由Node.js+Socket.io實現)負責訊息的推送。為了保證有良好的效能,部署了兩臺伺服器。透過Nginx做負載均衡。

2.                訊息代理服務(由J2EE實現) 負責訊息的轉發。訊息代理服務類似於一個App客戶端,當後臺要向所有的App端推送訊息時,透過訊息代理服務將訊息轉發到訊息中心,在透過訊息中心進行訊息的廣播。

為了保證穩定性,訊息代理服務部署在兩臺伺服器,兩臺服務同時監控ActiveMQ的一個訊息佇列。

3.                訊息路由(採用ActiveMQ,當要傳送訊息時,將訊息寫入到ActiveMQ的一個佇列,訊息代理服務監聽到有新的訊息要傳送時,則進行轉發。

4.                快取(採用Redis 一方面Socket.io採用叢集方式時用於各程式之間的訊息共享,另一方面暫時儲存訊息的相關內容。

5.                資料儲存(採用MySql 訊息內容的持久化儲存

6.                公共介面(採用Tomcat作為應用伺服器) 提供Http介面 以便於訊息的訂閱和傳送

7.                一次完整的訊息推送過程(比如向football這個群組中推送訊息)

Node.js+Socket.io訊息中心實施之二 架構與主要功能
 
 

主要實現功能

1.      訊息的訂閱與解除訂閱

2.      點對點訊息推送

3.      針對主題(Topic)進行訊息推送

4.      針對所有人進行訊息廣播

5.      針對主題(Topic)中的所有人進行點對點推送

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28624388/viewspace-1216979/,如需轉載,請註明出處,否則將追究法律責任。

相關文章