简介
MPUSH 是一个开源的推送框架,可以帮助使用者维护各个业务终端(web:websocket,手机端:socket)连接状态,同时使用者可以方便的进行业务消息实时推送,不依赖于第三方软件。当然如果你的业务量不大,需要的功能仅仅是推送业务消息,或者是处于业务发展前期,建议你使用第三方推送系统,可以减少很多开发以及维护工作。
mpush,是一款开源的实时消息推送系统,采用 java 语言开发,服务端采用模块化设计,具有协议简洁,传输安全,接口流畅,实时高效,扩展性强,可配置化,部署方便,监控完善等特点。同时也是少有的可商用的开源推送系统。
相关功能介绍
- 源码全部开放,包括 server、android、ios (不像有些开源服务只开放部分代码,鄙视下)
- 代码质量高,全部模块化设计,真正的商用级产品,考虑到推送中遇到的大部分场景
- 安全性高,基于 RSA 精简的加密握手协议,简单,高效,安全
- 支持断线重连,及弱网下的快速重连,无网络下自动休眠节省电量和资源
- 协议简洁,接口流畅,支持数据压缩,更加节省流量
- 支持集群部署,支持负载均衡,基于成熟的 zookeeper 实现
- 用户路由使用 redis 集群,支持单写,双写,集群分组;性能好,可用性高
- 支持 http 代理,一根 TCP 链接接管应用大部分请求,让 http 请求更加及时
- 高度可配置化,基本上通过修改配置可满足大部分场景
- 扩展性强,高度模块化,基于 SPI 模式的可拔插设计,以满足特殊需求
- 监控完善,日志详细,可快速排查线上问题及服务调优
功能完备,文档完善,是一个不可多得良心开源项目
相关资源
- 源码仓库:https://github.com/mpusher/
- 开发文档:https://mpusher.github.io/
- QQ 群交流:952774305(非官方,个人交流,官方群交易意愿不高,所以个人维护了一个,有问必答),114583699(社区群)
项目模块介绍
这里不过多介绍项目框架信息,开发文档中有详细的介绍,在此主要分模块介绍各个模块作用以及和其它模块之间的关系,这样能让大家有一个整体的认识。
mpush 是一个消息推送系统,业务端可以通过 mpush 推送系统推送消息给各个在线的客户端(包括 web,移动端),在这个场景中涉及 mpush 服务端以及各个 mpush 客户端(包括业务端,这是一个特殊的客户端,一般不处理其它客户端的 push 消息,只负责 push 消息给其它客户端)。
早期业务阶段,推送系统负载不会很大,从消息推送系统角度分析,除了推送系统,其它一切都是客户端,因此推送系统中只有 mpush 服务端以及客户端,
1. MPush 服务器搭建
MPush 框架提供了 mpush 服务搭建流程,文档地址,
2. Mpush web 客户端使用
Mpush 提供了 web 客户端业务样例,项目地址
3. Android 客户端使用
android 样例,项目地址
4. IOS 客户端使用
IOS 样例,项目地址
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于