MPUSH 推送框架简介

本贴最后更新于 2192 天前,其中的信息可能已经时移世改

简介

MPUSH 是一个开源的推送框架,可以帮助使用者维护各个业务终端(web:websocket,手机端:socket)连接状态,同时使用者可以方便的进行业务消息实时推送,不依赖于第三方软件。当然如果你的业务量不大,需要的功能仅仅是推送业务消息,或者是处于业务发展前期,建议你使用第三方推送系统,可以减少很多开发以及维护工作。

mpush,是一款开源的实时消息推送系统,采用 java 语言开发,服务端采用模块化设计,具有协议简洁,传输安全,接口流畅,实时高效,扩展性强,可配置化,部署方便,监控完善等特点。同时也是少有的可商用的开源推送系统。

相关功能介绍

  1. 源码全部开放,包括 server、android、ios (不像有些开源服务只开放部分代码,鄙视下)
  2. 代码质量高,全部模块化设计,真正的商用级产品,考虑到推送中遇到的大部分场景
  3. 安全性高,基于 RSA 精简的加密握手协议,简单,高效,安全
  4. 支持断线重连,及弱网下的快速重连,无网络下自动休眠节省电量和资源
  5. 协议简洁,接口流畅,支持数据压缩,更加节省流量
  6. 支持集群部署,支持负载均衡,基于成熟的 zookeeper 实现
  7. 用户路由使用 redis 集群,支持单写,双写,集群分组;性能好,可用性高
  8. 支持 http 代理,一根 TCP 链接接管应用大部分请求,让 http 请求更加及时
  9. 高度可配置化,基本上通过修改配置可满足大部分场景
  10. 扩展性强,高度模块化,基于 SPI 模式的可拔插设计,以满足特殊需求
  11. 监控完善,日志详细,可快速排查线上问题及服务调优

功能完备,文档完善,是一个不可多得良心开源项目

相关资源

项目模块介绍

这里不过多介绍项目框架信息,开发文档中有详细的介绍,在此主要分模块介绍各个模块作用以及和其它模块之间的关系,这样能让大家有一个整体的认识。
mpush 是一个消息推送系统,业务端可以通过 mpush 推送系统推送消息给各个在线的客户端(包括 web,移动端),在这个场景中涉及 mpush 服务端以及各个 mpush 客户端(包括业务端,这是一个特殊的客户端,一般不处理其它客户端的 push 消息,只负责 push 消息给其它客户端)。mpushpng

早期业务阶段,推送系统负载不会很大,从消息推送系统角度分析,除了推送系统,其它一切都是客户端,因此推送系统中只有 mpush 服务端以及客户端,
1. MPush 服务器搭建
MPush 框架提供了 mpush 服务搭建流程,文档地址
2. Mpush web 客户端使用
Mpush 提供了 web 客户端业务样例,项目地址
3. Android 客户端使用
android 样例,项目地址
4. IOS 客户端使用
IOS 样例,项目地址

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...