推送系统整合方案
2014-06-18 23:59
141 查看
引言
对于一家移动互联网公司而言,推送服务是必不可少的(建议不要频繁推送,用户会烦的)。而针对ios、android、winphone的客户端,各家都提供了相应的推送服务器。然而,各家对外提供的服务接口各有不同。本文结合苹果推送、百度android推送和微软的winphone推送具体谈一下如何整合一套完整的推送方案。服务接口比较
苹果、百度、微软分别给出了一套推送的服务接口,下表给出了各家提供的服务的一个对比。说明一下,下表给出的性能指标是在实际应用中能够达到的一个性能指标,并不代表最高性能。不过,从对比中也能看出苹果的性能最高(推送过程中需要避免非法token,非法token过多会降低推送性能),因为苹果采用的是tcp长连接,不需要每法送一个就建立一次连接,缺点在于苹果没有提供广播机制(发送一条消息,下发给所有客户端),从这一点上来说,百度的推送机制更好。并且针对个性化推送,百度android推送提供了“标签”,可以对用户分组,给指定组的用户推送消息。而微软提供的推送服务是最挫的。整合架构
一套完整的推送流程应该包含:1、客户端上传用户标识(token、uid等)到前置机;
2、前置机获取用户标识通过日志分析程序(我的另一篇关于日志同步分发框架的文章会提到)入库保存;
3、各种提送消息源发送消息给推送服务程序;
4、推送程序接收各种需要推送的内容,广播或者个性化推送给客户端。
推送服务程序自定义标准的推送协议,根据协议确定是推送给IOS服务器还是Android服务器或者WinPhone服务器,是单播还是广播。这样,推送服务程序便独立于事件源,不论事件源是来自编辑推荐还是来自于自动推荐,都可以实现灵活的扩展。
当然,在推送过程中,一些常见的问题还需要注意:
1、及时清除失效的以及非法的token,特别是IOS推送,非法token会大大降低推送速度(断连接),并且还会造成推送消息的丢失;
2、百度android推送会限制推送频率的上限;
3、IOS推送返回非法token对应的id是一个32位整形,如何根据这个id,去删除用户信息库中的非法token,以及token如何存储都是需要考虑的问题;
相关文章推荐
- 推送系统整合方案
- CnForums和已有系统的整合方案
- ASP.NET Forums与现有系统整合方案示例
- 基于IBM eserver x440+FAStT700+VMware的系统整合方案
- Asp.Net Forums与现有系统整合方案示例
- Asp.Net Forums与现有系统整合方案示例
- 金笛电子邮件系统推出与RTX统一登陆整合方案
- 前端通信:SSE设计方案(二)--- 服务器推送技术的实践以及一些应用场景的demo(包括在线及时聊天系统以及线上缓存更新,代码热修复案例)
- Asp.Net Forums与现有系统整合方案示例
- 收藏《CnForums和已有系统的整合方案》《通过IViewObject接口,取浏览器的图象,实现SNAP 》《SNAP的另类实现,采用iFRAME,内嵌框架的形式.》等
- 新老系统迁移及整合方案
- ASP.NETForums与现有系统整合方案示例
- 消息推送整合方案
- CnForums和已有系统的整合方案
- 分布式系统设计原理与方案Dubbo+Zookeeper+Spring整合
- ASP.NET Forums与现有系统整合方案示例
- 智能排课系统方案书(修正 NO:1)
- 条码在医院系统内的应用初步方案
- 整合MDaemon进入CRM系统
- 拍卖系统模块设计方案