[1]Mpush架构图及源码分析

因为是刚刚开始学习做消息推送,需要学习的东西还有很多,欢迎留言评论、互相关注、互相学习!!!

 

一、架构图

 

         

这是两张Mpush的系统架构图,可以很清楚的看到部署分为四部分:

  • Redis集群、zookeepe集群、Alloc调度器
  • Mpush服务端
  • Mpns业务推送系统
  • 客户端SDK

二、源码

以GitHub上为例,源码主要分为:

  1. 服务端源码:Mpush Server
  2. 调度器源码:Alloc
  3. 个性化推送中心源码:Mpns
  4. 客户端代码:Java-client、Android SDK、IOS SDK(swift、OC)

 

三、部署流程:

  1. JDK(>=1.8)
  2. Zookeepe
  3. Redis
  4. Mpush Server
  5. Alloc(亲测Mpush Server和Alloc启动之后、中途重启Mpush Server会出现接收不到推送消息,Alloc要在Mpush Server之后启动)

 

四、架构图与源码对应关系

 

          JDK、Redis、zookeepe、Mpush Server、Alloc依次部署完成之后按照官网文档测试,测试没问题之后,这几项基本上不用动,维护就行了。

         然后就是Mpns业务系统的开发了。

 

这里就要说几点个人的理解,以下仅供参考,如有错误请指出:

          第一:强烈建议多看几遍官方文档、不要去看源码,就看各部分模块之间的关系、架构关系

          第二:分清楚Mpush Server(Mpush-boot)、服务端SDK(Mpush-client)、纯Java客户端源码(MpushClient(Java))三者之间关系。

          Mpush Server是Mpush服务端源码,只需要部署维护就可以了;

<dependency>
  <groupId>com.github.mpusher</groupId>
  <artifactId>mpush-boot</artifactId>
  <version>x.y.z</version>
</dependency>

          服务端SDK(Mpush-client),虽然叫client但不是客户端代码不要搞混了,是你要集成开发业务系统的SDK工具源码,集成Springboot开发就是用这个SDK,例如官网提供的mpns模板,提供给指定人push接口,查询mpush server 列表接口、查询mpushServer在线用户数接口;

<dependency>
  <groupId>com.github.mpusher</groupId>
  <artifactId>mpush-client</artifactId>
  <version>x.y.z</version>
</dependency>

          纯Java客户端源码,这个是Java版的客户端源码,我个人的理解是:你在调用小米、华为的消息推送平台接口时候,除了要获取应用的AppID, AppKey, AppSecret,你还会去官网下载对应的服务端Java SDK,这个服务端Java SDK就和MpushClient(Java)一样,它对于用户是服务端SDK,对于我们就是提供给用户的客户端SDK,就和Android SDK、IOS SDK一样是提供给用户使用的。

<dependency>
    <groupId>com.github.mpusher</groupId>
    <artifactId>mpush-client-java</artifactId>
    <version>x.y.z</version>
</dependency>

          待续......

 

因为是刚刚开始学习做消息推送,需要学习的东西还有很多,欢迎留言评论、互相关注、互相学习!!!

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值