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