"58同城在SDCC2015上的分享,讲述了其高性能移动PUSH推送平台的架构优化过程,由58同城系统架构师孙玄主讲,内容涉及移动PUSH推送的原理、方案对比、不同阶段的架构设计以及性能优化、高可用性保障等方面。"
本文主要探讨了58同城如何构建和优化其移动PUSH推送平台,旨在提高推送效率、稳定性和用户体验。首先,定义了移动PUSH推送的概念,即在移动环境下通过推送文本、图片、音频、视频等消息来满足用户需求的一种机制,是移动互联网的基础功能之一。
移动PUSH推送的必要性在于应对移动环境下的网络不稳定性,保证Apps的消息能够准确触达用户,例如交易消息、运营活动通知和提醒等。文章提到了两种主要的推送方式:轮询(PULL)和长连接(PUSH)。轮询方式简单但实时性差,而长连接则能提供更高的实时性,但也可能增加电量消耗。此外,对于iOS,还有特定的APNS(Apple Push Notification Service),而Android则有多种开源方案和第三方推送服务。
在58同城的PUSH推送实践中,他们选择了折中的方案,结合开源、自主研发和第三方推送平台,如在Android端使用多种PUSH平台组合。对于iOS,利用APNS,而在Android端,他们自主研发了高性能的Provider,并结合第三方服务,以提高推送的稳定性和到达率。
在架构设计上,文章详细介绍了从单平台到多平台,再到公司级统一高性能平台的演进过程。每个阶段都伴随着架构的调整和优化,以应对日益增长的推送量和复杂性。在第三阶段,58同城构建了统一的移动PUSH推送平台,具备每天亿级别的推送能力和大量Apps的接入能力,确保了高吞吐量和高稳定性。
为了保证推送的高可用、高性能和高稳定性,58同城进行了典型性能问题的分析和解决,实施了一系列策略,如优化推送协议、增强服务的容错能力、提升消息处理速度等。同时,他们也积极参与各种技术交流活动,如QCon、SDCC、Top100等,以保持技术领先并学习业界最佳实践。
总结,58同城的高性能移动PUSH推送平台是经过精心设计和不断优化的成果,它融合了多种推送策略和技术,以满足大规模、高并发的业务需求,同时也体现了公司在技术上的深度探索和实践。