企業(yè)要實(shí)現(xiàn)優(yōu)質(zhì)的服務(wù),通常有2個(gè)方式:

  1. 完全自研

  2. 依賴已有的成熟第三方通道服務(wù)

企業(yè)可以選擇兩者取其一或者兩個(gè)方式并存。

作為中國(guó)領(lǐng)先的客戶互動(dòng)和營(yíng)銷(xiāo)科技服務(wù)商,極光在行業(yè)內(nèi)深耕多年,有著豐富的行業(yè)經(jīng)驗(yàn)和深厚的技術(shù)積累,極光推送為外賣(mài)、快遞、跑腿等搶單類(lèi)業(yè)務(wù)提供了優(yōu)質(zhì)穩(wěn)定的通道服務(wù),幫助開(kāi)發(fā)者快速下發(fā)訂單、幫助終端設(shè)備的使用者實(shí)現(xiàn)快速搶單。

那么極光推送是如何實(shí)現(xiàn)的呢?



訂單搶單的相關(guān)訴求




外賣(mài)、快遞、跑腿類(lèi)的終端設(shè)備通常使用專業(yè)的手持設(shè)備或者常規(guī)的手機(jī)。這些設(shè)備通常使用的是運(yùn)營(yíng)商移動(dòng)網(wǎng)絡(luò),在移動(dòng)過(guò)程中可能出現(xiàn)信號(hào)弱甚至信號(hào)中斷的場(chǎng)景。因此這一類(lèi)的業(yè)務(wù),對(duì)于網(wǎng)絡(luò)連通性有比較高的要求,需要盡量保證能夠穩(wěn)定在線、及時(shí)重新在線,以便服務(wù)端的業(yè)務(wù)消息能夠及時(shí)送達(dá)到設(shè)備。另外一方面,從相關(guān)的業(yè)務(wù)角度看,開(kāi)發(fā)者有給單一終端設(shè)備下發(fā)業(yè)務(wù)消息的場(chǎng)景,也有給特定用戶群下發(fā)業(yè)務(wù)消息的場(chǎng)景,例如給一定地理區(qū)域范圍或者某些類(lèi)別的用戶下發(fā)訂單消息等等。


極光的優(yōu)勢(shì)




極光的推送服務(wù)已經(jīng)有10年左右的歷史,給各行各業(yè)眾多的企業(yè)提供服務(wù),有著非常豐富的各種場(chǎng)景的落地實(shí)踐經(jīng)驗(yàn),同時(shí)我們也在不斷夯實(shí)技術(shù),每天處理大量的數(shù)據(jù),推送百億級(jí)別的消息,為日活超過(guò)4億的終端用戶提供高效、穩(wěn)定的服務(wù)。



極光如何通過(guò)技術(shù)實(shí)現(xiàn)達(dá)到賦能的目的




極光推送提供的服務(wù)就是要快速的將消息發(fā)送給目標(biāo)設(shè)備,并提供專業(yè)的數(shù)據(jù)分析讓開(kāi)發(fā)者能夠及時(shí)了解推送的結(jié)果,方便業(yè)務(wù)運(yùn)營(yíng),通過(guò)以下幾個(gè)方面來(lái)達(dá)到這個(gè)目的:




專業(yè)的SDK



當(dāng)前極光支持多個(gè)主流平臺(tái)的SDK,能夠讓開(kāi)發(fā)者快速地集成到自身的應(yīng)用當(dāng)中,幾分鐘就可以實(shí)現(xiàn)App的推送功能,也能夠滿足各開(kāi)發(fā)者對(duì)SDK體積大小、功耗等方面的要求。在數(shù)據(jù)采集方面,基于最小化原則,只采集必要的數(shù)據(jù),滿足相關(guān)合規(guī)條款的要求,在此基礎(chǔ)之上,推送相關(guān)的數(shù)據(jù)例如送達(dá)、展示、點(diǎn)擊等數(shù)據(jù)盡量上報(bào),方便數(shù)據(jù)統(tǒng)計(jì)分析。



多個(gè)終端接入節(jié)點(diǎn),就近接入



極光推送連接著開(kāi)發(fā)者和終端設(shè)備用戶,而終端設(shè)備上集成極光SDK,那么SDK和極光推送的連接質(zhì)量就特別重要了。在推送系統(tǒng)架構(gòu)上,把SDK和極光推送系統(tǒng)連接的部分抽離出來(lái),形成接入網(wǎng)關(guān)服務(wù),接入網(wǎng)關(guān)服務(wù)負(fù)責(zé)連接終端設(shè)備,并將消息分發(fā)到指定的SDK連接上,本身并不進(jìn)行具體的業(yè)務(wù)邏輯,起到連接和業(yè)務(wù)中轉(zhuǎn)的功能。接入網(wǎng)關(guān)服務(wù)部署在全國(guó)各個(gè)區(qū)域,跟核心機(jī)房的推送系統(tǒng)主要是通過(guò)運(yùn)營(yíng)商的骨干網(wǎng)絡(luò)進(jìn)行通信,網(wǎng)絡(luò)質(zhì)量基本上都很穩(wěn)定。

SDK首先向推送系統(tǒng)請(qǐng)求獲取連接接入網(wǎng)關(guān)服務(wù)的地址,推送系統(tǒng)根據(jù)SDK的相關(guān)信息例如IP運(yùn)營(yíng)商、IP屬地等從接入網(wǎng)關(guān)服務(wù)的地址列表中,選擇最優(yōu)的接入網(wǎng)關(guān)服務(wù)地址返回給SDK進(jìn)行連接。這通常來(lái)說(shuō)會(huì)考慮SDK的IP運(yùn)營(yíng)商、IP屬地、接入網(wǎng)關(guān)服務(wù)的網(wǎng)絡(luò)線路例如是否特定線路或者BGP網(wǎng)絡(luò)、接入網(wǎng)關(guān)服務(wù)部署地域、接入網(wǎng)關(guān)服務(wù)本身的負(fù)載等等機(jī)房方面。盡量讓SDK連接到網(wǎng)絡(luò)線路友好的、距離最近的接入網(wǎng)關(guān)服務(wù)。

此外,SDK在保持連接方面也有一些相關(guān)的工作,綜合考慮功耗、流量消耗、連接斷開(kāi)敏感性等因素設(shè)置合適的心跳間隔時(shí)間,以便及時(shí)感知網(wǎng)絡(luò)斷開(kāi)的情況,進(jìn)而重新連接到推送系統(tǒng)。為了快速建立連接,采用并行建立連接的方式,以最快的速度建立SDK和推送系統(tǒng)的網(wǎng)絡(luò)鏈路。

接入網(wǎng)關(guān)服務(wù)目前基本上都是對(duì)接BGP網(wǎng)絡(luò),從而滿足從各個(gè)運(yùn)營(yíng)商網(wǎng)絡(luò)連接的設(shè)備的連接穩(wěn)定性,同時(shí)根據(jù)就近連接策略,減少數(shù)據(jù)在網(wǎng)絡(luò)傳輸?shù)臅r(shí)延,盡量保證連接質(zhì)量。



推送業(yè)務(wù)數(shù)據(jù)存儲(chǔ)優(yōu)化



極光推送目前有超過(guò)650億的累計(jì)注冊(cè)用戶數(shù)據(jù),并且還在持續(xù)增長(zhǎng)中,除了基礎(chǔ)的用戶數(shù)據(jù),還有用于推送的各個(gè)維度的數(shù)據(jù),例如標(biāo)簽別名、智能標(biāo)簽、定時(shí)任務(wù)等等。這么大量級(jí)的數(shù)據(jù),如何組織數(shù)據(jù)、存儲(chǔ)數(shù)據(jù),以便快速訪問(wèn)數(shù)據(jù),實(shí)現(xiàn)高并發(fā)的業(yè)務(wù)處理,就需要有相應(yīng)的處理策略來(lái)達(dá)到這個(gè)目的。




大規(guī)模集群并行處理



推送系統(tǒng)是一個(gè)包含多個(gè)子業(yè)務(wù)功能的龐大的系統(tǒng),在大規(guī)模的數(shù)據(jù)集、大量并發(fā)請(qǐng)求的這個(gè)場(chǎng)景下,我們把各子業(yè)務(wù)拆分獨(dú)立成子系統(tǒng),構(gòu)造相關(guān)的服務(wù),把業(yè)務(wù)處理流程化,通過(guò)消息驅(qū)動(dòng)串聯(lián)業(yè)務(wù)流,各個(gè)業(yè)務(wù)節(jié)點(diǎn)/服務(wù)并行的處理。我們主要采用MQ或者RPC的方式進(jìn)行各個(gè)服務(wù)的調(diào)用,異步調(diào)用處理為主,少部分使用同步請(qǐng)求處理,一方面解耦業(yè)務(wù),另一方面也提升系統(tǒng)整體性能。

推送的各個(gè)業(yè)務(wù)服務(wù)集群化部署,每個(gè)子服務(wù)都是部署多個(gè)節(jié)點(diǎn)并行處理各個(gè)請(qǐng)求,同時(shí)為了應(yīng)對(duì)突發(fā)的大量請(qǐng)求流量,基于K8S的部署能夠快速的實(shí)現(xiàn)相關(guān)服務(wù)的自動(dòng)擴(kuò)容,快速處理各個(gè)業(yè)務(wù)請(qǐng)求。



下發(fā)通道選擇策略優(yōu)化



當(dāng)前極光推送系統(tǒng)中,有基于SDK和推送系統(tǒng)長(zhǎng)鏈接的自有通道,也對(duì)接了主流的各個(gè)設(shè)備廠商的推送通道。自有通道由于權(quán)限的限制,并不一定能夠時(shí)時(shí)刻刻的保持長(zhǎng)鏈接,但是并沒(méi)有限制下發(fā)頻率和下發(fā)數(shù)量;廠商推送通道使用系統(tǒng)級(jí)別的長(zhǎng)鏈接,連通性更加好,但是每個(gè)廠商都有自己的消息下發(fā)限制規(guī)則,例如每日推送配額限制、推送速率限制、單個(gè)設(shè)備每日營(yíng)銷(xiāo)類(lèi)消息數(shù)量限制等等。

我們根據(jù)這些因素選擇合適的推送通道進(jìn)行下發(fā)給目標(biāo)用戶,以達(dá)到快速把消息送達(dá)給目標(biāo)用戶。默認(rèn)情況下,如果廠商通道能夠下發(fā)則選擇廠商通道下發(fā)消息,廠商通道不能夠下發(fā)例如沒(méi)有推送配額則使用極光自有通道進(jìn)行消息下發(fā)。也可以選擇只通過(guò)廠商通道或者只通過(guò)極光自有通道下發(fā)消息。


專業(yè)的數(shù)據(jù)統(tǒng)計(jì)分析




當(dāng)完成一個(gè)消息推送時(shí),極光提供專業(yè)的漏斗分析工具,向開(kāi)發(fā)者提供推送耗時(shí)、推送結(jié)果分析;同時(shí)也有推送用戶分析、推送消息統(tǒng)計(jì)分析等等工具,方便業(yè)務(wù)運(yùn)營(yíng)。



如何處理一個(gè)推送請(qǐng)求



當(dāng)開(kāi)發(fā)者需要發(fā)送一個(gè)訂單消息時(shí),會(huì)調(diào)用我們的API接口,API服務(wù)器接收到請(qǐng)求后將進(jìn)行權(quán)限校驗(yàn)和參數(shù)校驗(yàn),判斷推送目標(biāo)是否存在;然后將消息流轉(zhuǎn)到下游,下游根據(jù)參數(shù)的目標(biāo)信息進(jìn)行判斷,如果是推送給單一目標(biāo)用戶,從用戶信息服務(wù)中獲取用戶信息;如果是推送給特定標(biāo)簽,從標(biāo)簽服務(wù)中獲取相關(guān)聯(lián)的目標(biāo)用戶集合,這個(gè)過(guò)程已經(jīng)做了相關(guān)的優(yōu)化,即使是大量的用戶集合,也能夠快速的獲取。再根據(jù)用戶的通道信息流轉(zhuǎn)到指定的下發(fā)通道,由下發(fā)通道下發(fā)給目標(biāo)設(shè)備的用戶。

目標(biāo)設(shè)備的用戶收到消息后處理相應(yīng)的業(yè)務(wù)邏輯,例如訂單的處理、搶單等等。

這個(gè)過(guò)程的處理耗時(shí)單推情況下能夠200ms內(nèi)推送到目標(biāo)設(shè)備,具體如下:



API處理耗時(shí):10ms 以內(nèi)

目標(biāo)用戶選擇:?jiǎn)瓮魄闆r下10ms 以內(nèi),多推情況跟目標(biāo)用戶數(shù)量有關(guān)

廠商通道:10ms以內(nèi)的數(shù)據(jù)訪問(wèn),http請(qǐng)求廠商接口10~40ms 

極光自有通道:10ms以內(nèi)的數(shù)據(jù)訪問(wèn),核心機(jī)房到達(dá)最遠(yuǎn)的接入機(jī)房40ms,接入機(jī)房到達(dá)目標(biāo)設(shè)備20ms


結(jié) 語(yǔ)

通過(guò)使用精準(zhǔn)、高效、穩(wěn)定、安全的極光推送服務(wù),將幫助企業(yè)有效提升搶單速度,進(jìn)而有效提升客戶觸達(dá)效率和互動(dòng)需求。期待通過(guò)使用極光推送服務(wù),幫助您實(shí)現(xiàn)快速增長(zhǎng)。


關(guān)于極光

極光(Aurora Mobile,納斯達(dá)克股票代碼:JG)成立于2011年,是中國(guó)領(lǐng)先的客戶互動(dòng)和營(yíng)銷(xiāo)科技服務(wù)商。成立之初,極光專注于為企業(yè)提供穩(wěn)定高效的消息推送服務(wù),憑借先發(fā)優(yōu)勢(shì),已經(jīng)成長(zhǎng)為市場(chǎng)份額遙遙領(lǐng)先的移動(dòng)消息推送服務(wù)商。隨著企業(yè)對(duì)客戶觸達(dá)和營(yíng)銷(xiāo)增長(zhǎng)需求的不斷加強(qiáng),極光前瞻性地推出了消息云和營(yíng)銷(xiāo)云等解決方案,幫助企業(yè)實(shí)現(xiàn)多渠道的客戶觸達(dá)和互動(dòng)需求,以及人工智能和大數(shù)據(jù)驅(qū)動(dòng)的營(yíng)銷(xiāo)科技應(yīng)用,助力企業(yè)數(shù)字化轉(zhuǎn)型。

分享文章
微信
微博
復(fù)制鏈接

上一篇:

極光筆記 | 埋點(diǎn)體系建設(shè)與實(shí)施方法論

下一篇:

Unlock the Full Potential of Web Push Notifications: Strategies to Boost Revenue
登錄后可進(jìn)行留言,請(qǐng) 登錄注冊(cè)
0條留言
快速聯(lián)系

熱門(mén)文章

相關(guān)文章

內(nèi)容標(biāo)簽
#極光推送 #極光筆記 #運(yùn)營(yíng)

極光官方微信公眾號(hào)

關(guān)注我們,即時(shí)獲取最新極光資訊

0/140
發(fā)送

現(xiàn)在注冊(cè),領(lǐng)取新人大禮包

免費(fèi)注冊(cè)

您的瀏覽器版本過(guò)低

為了您在極光官網(wǎng)獲得最佳的訪問(wèn)體驗(yàn),建議您升級(jí)最新的瀏覽器。