zoukankan      html  css  js  c++  java
  • 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/

  • 相关阅读:
    Linux压缩和解压类指令
    Linux 搜索查找类指令
    Linux时间日期类指令
    Linux文件目录类指令
    Linux帮助指令
    Linux运行级别
    微信授权获取code/openid
    微信公众配置
    MySQL规范
    PHP7搭建项目遇到的坑
  • 原文地址:https://www.cnblogs.com/geektcp/p/12928786.html
Copyright © 2011-2022 走看看