美文网首页直播网络
从0到1构建push服务 — 整体架构设计(一)

从0到1构建push服务 — 整体架构设计(一)

作者: 村长爱技术 | 来源:发表于2016-08-12 17:18 被阅读74次

推送服务是一个老生常谈的问题了,目前业界也有很多解决方案,但如何从0到1构建一个高效、稳定的push服务呢,我在这里跟大家分享一下整个过程。

整体架构图

Paste_Image.png

时序图

时序图 (1).png

1. 客户端首先通过Router Serv获取可用的Conn Serv IP和Port。
  2. 根据第1步获取的IP和Port建立长连接,建立好以后发送客户端数据用于注册(注册的意思就是要标识连接跟客户端的对照关系,比如帐号+终端类型等)。
  3. 后台通过手动或者API的方式写入消息到MQ中,Push Serv通过轮训或者订阅的方式获取MQ消息,并通过查询客户端和机器IP的对照关系,选择推送到特定的Conn Serv。
  4. Conn Serv获取到要推送的消息,传递给对应的客户端

技术难点

  • 自定义协议
  • 服务高性能和高可用
  • Conn serv多端口监听和转发
  • 客户端和描述符对应关系存储
  • 数据统计(送达率,失败率等)

接下来会根据以上几点进行详细介绍……

相关文章

网友评论

    本文标题:从0到1构建push服务 — 整体架构设计(一)

    本文链接:https://www.haomeiwen.com/subject/ddtesttx.html