專訪個推CEO方毅:一步一個腳印做好消息推送
從互聯網“量”的時代,過渡到如今移動互聯網“效率”的時代,移動智能設備充分利用碎片化時間,通過協作、合作、即時資源撮合,將效率達到了極大的提升。不過,自2013年,這個被稱為中國移動互聯網營銷的元年開始,人們對移動互聯網有了更深入的認識,對技術服務也有了更高的需求。
隨著移動開發的日漸崛起,云服務技術也日趨成熟,消息推送成為用戶和開發運營商之間的一座橋梁,不僅能讓用戶隨時隨地得到消息通知,還能幫助企業開發的應用提高用戶活躍度,獲取有價值數據反饋。但是,在成千上萬條消息中應如何做到“把有價值的信息,在對的時間、對的場景,及時準確地推送給對的用戶呢?帶著這個問題,我們邀請到個推創始人兼CEO方毅,來講述關于個推在高并發環境中的解決方案以及個推領先的最新技術。
廠商如何自己去做推送
常規而言,廠商想要自己做消息推送,大多是基于xmpp協議,因此只能做到單機1000+的并發長鏈接,而這1000+的數量相比于現在移動終端的數量簡直少得可憐。記者在采訪方毅時了解到:“對于用戶量不高的應用來說,1000+的并發長鏈接可能不需要多少設備和成本。但是,如果并發用戶數量超過10萬以上,那么在推送上面的成本可能會超過App本身業務投入所能承受的比例。因為手機不同于PC,所以還需考慮消耗流量的問題。xmpp協議本身太重,其主要是針對IM以及系統間互聯而設計的,并不適用于專門針對移動App,所以一般而言采用精簡協議更為合適。”
在采訪的過程中記者了解到,個推的推送服務是架設在一個典型的大并發分布式互聯網平臺架構之上,不但需要考慮單臺接入設備的并發數量,還需考慮內部的大吞吐量、移動網絡條件下的單秒大數量重連、鑒權等處理等問題。此外,還要針對不同條件組合下的用戶進行問題抽取等。而大家可能更關心單臺設備的大并發數接入技術,這些是需要從硬件設備、網卡、操作系統、開發語言、線程模型、異步處理、數據結構、協議設計等各個方面來進行優化。整體來說,實現大規模的推送并不是一朝而就的。
在大規模推送的過程中,非常容易造成消息無法送達或是延遲的現象。對于用戶,消息收不到并沒有太大影響,但對于廠商,每一個推送消息都將是一個商機,所以到達率與穩定性是他們最關注的。
獨立通道保障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做更加精準細化的消息推送。