mpush調研


概述

mpush是github上開源的一個實時消息組件。底層使用netty,適合手機端app實時聊天場景。

 

系統架構

 

消息推送流程時序圖如下,推送方不需要TCP長連接,接收方需要TCP長連接。

相當於客戶端A和服務端建立了TCP通道后,客戶端B發消息給A的時候,客戶端B只需要推送給服務端,通過alloc+zookeeper負載均衡到一台push server上,push server分發消息到指定的客戶端clientA

 

消息存儲

mpush核心功能是實時消息,消息存在內存中。

redis是分發消息,做路由功能用到的。

zookeeper是alloc服務的負載均衡功能中用於尋找一個比較空閑的push server。

 

 

消息丟失

目前嚴格的測試,官方也沒有提供測試報告,不確定是否存在消息的情形,上生產需要注意。

 

使用場景

mpush的功能比較完善,有IOS, Android的客戶端SDK,push server的服務端的代碼也非常清晰。模塊划分一目了然。

可讀性強,是個不錯的項目,上生產風險比較小。

目前為止有兩年沒有更新了,git上的項目很多都是這樣,中國程序員忙於生計,沒有什么更新的動力。

 

相關文檔

項目文檔:http://mpush.mydoc.io/?t=134333

github:    https://github.com/mpusher/

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM