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這個群組中推送訊息)
主要實現功能
1. 訊息的訂閱與解除訂閱
2. 點對點訊息推送
3. 針對主題(Topic)進行訊息推送
4. 針對所有人進行訊息廣播
5. 針對主題(Topic)中的所有人進行點對點推送
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28624388/viewspace-1216979/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Node.js+Socket.io訊息中心實施之七 訊息中心的實現(5)Node.js
- Node.js+Socket.io訊息中心實施之六 訊息中心的實現(4)Node.js
- Node.js+Socket.io訊息中心實施之四 訊息中心的實現(2)Node.js
- Node.js+Socket.io訊息中心實施之三 訊息中心的實現(1)Node.js
- Node.js+Socket.io訊息中心實施之一 背景Node.js
- Node.js+Socket.io訊息中心實施之十 nginx負載均衡部署Node.jsNginx負載
- 億級訊息中心架構方案概述【原創】架構
- DDD實戰分享-訊息中心
- 訊息推送系統架構架構
- 聊聊訊息中心的設計與實現邏輯
- 仿微博訊息中心的系統設計與實現
- IT架構的基礎實施架構
- RocketMQ架構原理解析(三):訊息索引MQ架構索引
- Pulsar訊息傳送、消費架構概述架構
- 架構文摘:訊息佇列設計精要架構佇列
- 自定義NSNotification訊息中心
- (四)spring cloud微服務分散式雲架構-配置中心和訊息匯流排(配置中心終結版)SpringCloud微服務分散式架構
- strimzi實戰之二:部署和訊息功能初體驗
- 雲原生架構實施路線圖架構
- Cloud Foundry架構和訊息處理機制Cloud架構
- RocketMQ架構原理解析(二):訊息儲存MQ架構
- 大型網站架構系列:訊息佇列(二)網站架構佇列
- 一套十萬級TPS的IM綜合訊息系統的架構實踐與思考架構
- 雲原生架構實施路線圖分析架構
- IaaS雲端計算基礎設施與架構架構
- 高併發架構訊息佇列面試題解析架構佇列面試題
- 現代IM系統中訊息推送和儲存架構的實現架構
- 訊息機制篇——初識訊息與訊息佇列佇列
- 以資料庫為中心的架構與以領域為中心的架構的區別 - DevSDhami資料庫架構dev
- vue - Vue腳手架/訊息訂閱與釋出Vue
- RocketMQ架構原理解析(四):訊息生產端(Producer)MQ架構
- 架構設計之NodeJS操作訊息佇列RabbitMQ架構NodeJS佇列MQ
- 訊息架構的設計難題以及應對之道架構
- 搭建JEESZ分散式架構--訊息中介軟體簡介分散式架構
- 嵌入式軟體架構設計-訊息互動架構
- 大型網站架構系列:分散式訊息佇列(一)網站架構分散式佇列
- 網頁端實時音視訊服務架構與實踐網頁架構
- IM 去中心化概念模型與架構設計中心化模型架構