互联网消息推送平台设计与实现_第1页
互联网消息推送平台设计与实现_第2页
互联网消息推送平台设计与实现_第3页
互联网消息推送平台设计与实现_第4页
互联网消息推送平台设计与实现_第5页
已阅读5页,还剩15页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、易到消息推送平台设计与实现消息推送平台基本要求快速可靠送达APP和平台一直保持长连接平台需要支持高并发连接数消息推送平台现状比较成熟,百家争鸣第三方平台包括:百度推送、个推、极光推送等等需要推送的消息类型系统级消息:实时性要求不高通知消息推广消息应用级消息:实时性要求较高派单消息聊天消息为什么要自建消息推送平台我们主要推送应用级消息送达率和实时性要求高第三方消息推送平台无法满足需求原有消息推送平台基于ejabberd的消息下发:消息较臃肿基于mongodb轮询,简单但低效原有实现无法做到线性扩容送达率约99%新消息推送平台设计目标支持双向消息推送消息下发数据上传无单点,支持线性扩容实现消息不落

2、地推送系统支持的用户数过亿单机支持的并发用户数10w+只是一个消息推送平台?消息推送平台下个阶段消息通道(MC)支持消息双向推送连接APP和后端的接入层易到MC架构架构关键点一个APP只会分配到一台woker上APP在线的情况下,必须将消息发送到其对 应的worker架构特点managermanager维护设备到worker的映射关系对连接到worker的APP进行负载均衡采用主从热备方式:只有两台servermaster主动连接slave,同步映射关系数据主失效,从自动接替主恢复后,重新成为主架构特点worker消息中转主动连接manager,发送心跳信息对等结构,无限扩展APP连接MC过程

3、APP请求manager分配workerAPP直接连接该worker,通过ping保持长连接后台发送消息过程后台请求manager分配worker后台直接连接该worker发送消息MC RPCMC RPC优势实现统一的接入层,大大降低service进程数天然长连接,避免建连开销天然session机制,避免对每个请求都要进行 用户身份认证service跨语言:可以用C、PHP等语言编写MC实现C语言实现二进制私有协议网络通信采用libfastcommon直接封装epoll、kqueue和port网络超时采用时间轮消息队列 + 事件驱动消息发送机制消息队列缓存,有最大长度限制生产者消费者模型发送时不能跨线程,采用事件方式通知对应的工作线程每轮epoll处理结束后,根据消息事件推送消息manager fail over机制我们不需要第三方组件!manager server采用主从结构两台server采用心跳方式探测对方是否存活APP和后端先连接master,失败后再连接 slaveslave接替master,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论