11.11大促之后,随着移动端业务量的急剧提升,像小米推送这样的基础服务也经受了巨大的考验。11月12日,小米的项目总监汪轩然在微博上宣布,“小米推送服务共发出9.65亿条消息,平均每分钟发送67万条。更值得一提的是,后台监控显示,推送服务后台系统在全天运作非常平稳,没有任何卡顿拥堵现象,让各种促销、返利、订单更新消息第一时间触达用户。”
安全性也是小米推送服务重点考虑的一个因素。数据传输过程中,得益于推送服务采用的双层协议方案,消息会采取双重加密,第一重是XMPP传输层,保证数据在网络传输的过程中不会被篡改、监听。第二重是在Thrift二进制层,用以保证消息到达Service之后,通过broadcast发送给App进程的过程中不会被截获和伪造。第二重加密往往会被其它第三方推送服务忽略,但其风险同样很大。
推送消息量平时波动很大,所以开发团队准备着流量随时可能忽增200%的情况,并在线下做好压力测试和优化;如果流量特别大,还有以下应对措施:
二是无处不在的Cache。客户端使用小米推送服务的SDK,开发者使用API的情况千变万化,很多场景是意料之外的;需要对调用频繁的业务添加Cache,尽可能在本地进程内处理;例如,对于客户端调用API设置别名和订阅topic,先检查Cache是否已经设置过,只有没有设置才往后端服务发送;优化后,后台服务的业务压力大大减少。
敏捷开发,快速迭代,日拱一卒,每天都有简短的站立会议,能够迅速响应变化,持续改进系统。
原文地址:http://blog.csdn.net/websites/article/details/41245561