在上一篇文章『聊一聊APP消息推送那些事』中,我讲了手机APP消息推送的基本原理,这篇文章主要是从技术的角度,介绍一个高性能推送平台的架构设计。目的是分享一些我自己在推送上的经验,以及做推送平台中遇到的一些问题和解决办法,为那些遇到类似问题的朋友提供一些参考。
# 01 背景
由于本人目前就职的公司对于推送有很强的依赖,尤其是每天都会有很多时效性很强的内容需要通知到用户。和竞争对手比拼的就是速度,相同的消息到达用户手机上的时间决定了产品的竞争力,也体现了一个公司的技术实力。因此,公司非常重视推送的性能。
细节决定成败,有时候一些小小的提升,可能带来很大的蝴蝶效应。比如,在其他功能相差不多,两款APP都可以满足用户需求的前提下;我们的APP通知每次都比另一款先通知用户,哪怕每次只早到3秒,给用户的感受就会很不同。也更能征服用户,获得用户的支持。
对于一个中小型创业公司来说,技术储备必然不能和大厂相提并论。所以,公司对应技术的投入一直有限,也没有固定的推送团队,依赖的也都是第三方公司。由于业务重心调整,在我负责推送业务期间,公司领导决定对推送进行大规模重构,目的是逐渐减少对第三方公司的依赖,提升推送性能,实现更灵活更多功能的推送平台。不过,话说回来,团队成员也只有我一个人。
我个人对项目热情比较高,原因是这个项目可以充分扩充我的技术储备,提升大型项目经验与平台设计经验,而且我一直热衷于打有显著成果的硬仗。