从互联网“量”的时代,过渡到如今移动互联网“效率”的时代,移动智能设备充分利用碎片化时间,通过协作、合作、即时资源撮合,将效率达到了极大的提升。不过,自2013年,这个被称为中国移动互联网营销的元年开始,人们对移动互联网有了更深入的认识,对技术服务也有了更高的需求。
随着移动开发的日渐崛起,云服务技术也日趋成熟,消息推送成为用户和开发运营商之间的一座桥梁,不仅能让用户随时随地得到消息通知,还能帮助企业开发的应用提高用户活跃度,获取有价值数据反馈。但是,在成千上万条消息中应如何做到“把有价值的信息,在对的时间、对的场景,及时准确地推送给对的用户呢?带着这个问题,我们邀请到个推创始人兼CEO方毅,来讲述关于个推在高并发环境中的解决方案以及个推领先的最新技术。
厂商如何自己去做推送
常规而言,厂商想要自己做消息推送,大多是基于xmpp协议,因此只能做到单机1000+的并发长链接,而这1000+的数量相比于现在移动终端的数量简直少得可怜。记者在采访方毅时了解到:“对于用户量不高的应用来说,1000+的并发长链接可能不需要多少设备和成本。但是,如果并发用户数量超过10万以上,那么在推送上面的成本可能会超过App本身业务投入所能承受的比例。因为手机不同于PC,所以还需考虑消耗流量的问题。xmpp协议本身太重,其主要是针对IM以及系统间互联而设计的,并不适用于专门针对移动App,所以一般而言采用精简协议更为合适。”
在采访的过程中记者了解到,个推的推送服务是架设在一个典型的大并发分布式互联网平台架构之上,不但需要考虑单台接入设备的并发数量,还需考虑内部的大吞吐量、移动网络条件下的单秒大数量重连、鉴权等处理等问题。此外,还要针对不同条件组合下的用户进行问题抽取等。而大家可能更关心单台设备的大并发数接入技术,这些是需要从硬件设备、网卡、操作系统、开发语言、线程模型、异步处理、数据结构、协议设计等各个方面来进行优化。整体来说,实现大规模的推送并不是一朝而就的。
在大规模推送的过程中,非常容易造成消息无法送达或是延迟的现象。对于用户,消息收不到并没有太大影响,但对于厂商,每一个推送消息都将是一个商机,所以到达率与稳定性是他们最关注的。
个推创始人兼CEO方毅
独立通道保障99.9%送达率
据了解,在推送到达率方面,个推有着独立的通道供给,下发速率为20万/秒,保守估计到达率为99%,延时小于250ms,稳定的性能也得到了合作伙伴的一致好评。
方毅认为,现在的开发者们都非常聪明谨慎,他们都会经过多次调查、监测,来确保产品接入的推送对他们是最有利的。同时,通过各大论坛我们可以看到,开发者或开发团队对个推的表现还是相当满意的。
双十一当天,通过个推系统发送的消息超过30亿条!这个数据比平时日均分发消息数翻一番,这也成绩直接证明了个推的实力。方毅还补充道:“当天所有负责技术运维的同事都24小时待命,时刻监测数据,最后不负众望,个推系统一直处于高效稳定的运作状态,接入个推的电商平台都非常及时地触达了自己的用户。”
为什么个推有着如此优秀的表现?我们还得从2011年开始说起。
2011年至今一步一个脚印
公司从2010年开始研发一款名为“个信”的产品。“个信”是一款整合了手机短信和即时消息,跨通信运营商、操作系统平台的免费聊天软件,其技术是基于推送功能。其后,个推将这一核心技术抽取出来,专做消息推送,也就成就了现在的“个推”。
有了之前“个信”的基础,掌握了推送最核心的技术,个推成了国内最早专做推送的技术服务商,2011-2012年期间首先为新浪微博做了定制服务,然后在2012年10月对外开放推送系统,让开发者与企业可以直接进行接入使用。
截止目前,个推提供了针对Android、iOS、PhoneGap等平台的移动端SDK,之后还会支持WindowsPhone、APICloud等。当然,个推提供的是jar或者lib库,移动应用直接调用API即可。此外,个推还提供服务端的SDK,分别支持Java/PHP/C#/Python语言,主要是便于开发者快速进行S2S的集成。如果用户在没有进行S2S集成的情况下进行推送,个推还在开发者网站上提供了丰富的操作界面,功能和SDK提供的一样。
对于iOS,个推提供一种更为快捷的方式,即使在App端不集成SDK for iOS,也可以通过APNS进行推送。对于开发者而言,只需要提交推送请求到个推,而不需要分别去处理不同平台。总的来说,个推的SDK包小巧灵活,一天内便可集成上线,并且有专人负责对接,为开发者提供了方便快捷的通道。
PPTV成功案例
PPTV大家都非常熟悉,这款产品与个推已经合作了近两年的时间,累计覆盖用户超过1亿,根据PPTV初步统计的数据,在个推推送系统的单次推送消息可覆盖3000W-5000W用户,日活跃用户(包括启动和播放等动作)提升了至少20%。这些都是比较保守的统计了,其实效果还远远不止这些。
除此之外,包括墨迹天气、唱吧、天天动听、去哪儿这些用户量级都在千万以上的产品,他们对精准推送服务的需求也是非常大的,与个推合作以后,用户活跃度都有显著提升。
在如今的推送领域中,一般的团队自己去搭建消息推送平台很难保证在大用户量级下的稳定高效推送环境。而个推的团队在这几年的研发中,不断增加了新的模块和功能,从早先的增量更新、双向链路、多通道合并等功能,到今年推出的个推2.0产品Smart Push,专做精准推送技术(基于用户属性进行标签分类,通过A/B测试找出最精准的人群),有了高质量的技术保障同时也为企业和开发者节省了90%以上的成本。在采访最后方毅还透露出,个推的下一个版本将基于LBS做更加精准细化的消息推送。