一个实时精准触达系统的自我修养
問題定義
在互聯網行業,唯一不變的就是一直在變化。作為技術同學,我們經常會碰到以下幾種需求:
當用戶收藏的商品降價后及時通知用戶,促進雙方交易達成;新用戶或90天內未成交的用戶瀏覽多個商品后引導用戶主動和賣家聊天、也可以給用戶發個紅包促進用戶首單的達成;
這些需求本質上是這樣的邏輯:實時采集分析用戶行為,通過規則計算,對符合條件的用戶進行精準觸達。普通開發模式很難比較好的承接這類需求,為此我們專門研發了omega系統解決這類問題。omega系統分為三個子系統:
- 行為采集中心
- CEP規則中心
- 用戶觸達中心
我們在之前文章已經詳細說明前兩部分,本次我們將著重闡述用戶觸達系統是如何設計和實現策略靈活配置和精準觸達的。
系統設計
2.1、邏輯架構
為了方便讀者理解,我們簡單回顧omega系統的邏輯架構。omega系統基于高內舉低耦合的原則進行拆分,每個部分本身是獨立完整的系統,也可以組裝后提供服務。
- 第一層是用戶行為采集中心,通過采集端上請求的MTOP(應用網關)接口和端上用戶行為埋點,將數據清洗為規整的用戶行為數據;
- 第二層是CEP規則計算中心,通過解析DSL生成Blink(Flink)流計算任務,輸出滿足規則的用戶;
- 第三層為用戶觸達中心,定義觸達策略和通道,將策略實時觸達給用戶。
三層環環相扣,既可單獨對外提供服務,也可聯合對外承接業務,目前已經在承接用戶增長、玩法和安全相關業務。
以用戶增長業務舉例,當用戶在體驗的過程中,運營通過合理策略組合,引導用戶完成交易行為,到達產品形態上的“啊哈”時刻。這些策略在端內可能是權益透出、POP和實時Push,在端外是Push、短信和外呼等手段。Omega系統通過整合端內/端外的主動/被動觸達渠道,以用戶的實時狀態為核心,實現了一套滿足長周期運營的策略編排技術方案體系。
2.2、觸達流程
觸達流程本身比較明確,我們將流程拆分為多個小的節點,每個節點之間通過配置化方式組合,保證每個節點是可插拔、可替換的實現。整體用戶觸達系統處理流程如下:
- 接收CEP規則計算結果,包括規則名和滿足規則的用戶;
- Action路由層根據規則名查詢所有訂閱此規則的Action列表;
- Action過濾層根據一定策略過濾有效Action列表,過濾策略包括黑/白名單,灰度、人群和疲勞度策略;
- Action下發層會根據策略配置執行,可以是通用的觸達,比如發push、短信;也可以是調用其他業務系統,比如調用安全系統處罰;也可以將Action下發到端上執行;
- Action執行后將相關信息按照通用協議埋點,方便后續數據統計;
用戶觸達是omega系統流程的最后一環,需要封裝足夠多的通用觸達能力,保證觸達的實時性、有效性,不然對用戶體驗會有傷害,接下來通過詳細設計看下用戶觸達系統如何保證觸達策略可組裝、可插拔的靈活配置和觸達實時性等特性。
2.3、詳細設計
注:metaq是阿里內部使用的MQ框架;HSF是RPC框架。
用戶觸達中心的目標是可以單獨提供服務,支持靈活可插拔配置和策略精準觸達,所以在設計上著重減少對外部依賴,對外通過MQ方式減少對外部系統直接依賴和耦合;對內明確各子模塊的功能邊界,通過配置化方式組合子模塊。
用戶觸達中心的主要作用是維護觸達策略和封裝標準觸達能力,整體分為以下部分:
- 輸入數據源:用戶觸達中心可以接收上層規則中心計算結果,也可以由外部業務系統主動觸發;
- 觸達物料包括文案、圖片等維護在云投放系統(閑魚素材管理系統),后續會接入離線數據補充更細粒度的基礎信息,包括用戶畫像、商品數據等。
- Action路由層維護Action與規則之間的訂閱關系,包括訂閱的有效時間、優先級等要素;
- Action過濾層采用責任鏈模式設計,各filter相互獨立,可動態插拔和靈活配置;
- Action實現層封裝了各種通用觸達能力實現,目前主要是云端和客戶端兩種,后續可通過faas模式提供Action靈活快速上線能力。為了保證在客戶端執行Action的實時性,我們專門維護了與客戶端的長連通道,通過針對性優化,提升通道的數據傳輸速度和到達率,對端上觸達進行了重點保證。
- Action觸達后會按照統一埋點協議記錄,后續會整理埋點上報和數據開發流程,減少數據開發成本,方便業務方查看Action實驗效果和實驗歸因。
線上效果
用戶觸達中心上線后已經通過配置化方式承接多個業務,包括閑魚金鱗雙十一玩法、用戶增長、租房、租賃等多個業務場景,通過運營靈活配置策略和權益的實時精準觸達,拿到以下數據結果:
對目標人群觸達準確率大幅提升;
金鱗玩法延遲在1s內;
授人以魚不如授人以漁,提供運營工具,徹底解放開發資源;
其中雙十一項目對實時性要求高而且QPS比較高,對Omega系統尤其是用戶觸達中心的性能和實時觸達能力進行充分驗證。最終瀏覽商品降價場景Push點擊率較離線有大幅提升。
總結展望
Omega系統是針對實時性要求高、運營主導、快速實驗這類場景解法的高度抽象。秉承這個理念,用戶觸達中心封裝多種通用觸達能力,支持靈活可插拔的filter配置和設計標準埋點協議以支持業務快速實驗和數據歸因分析。后續我們將支持離線畫像數據標準接入和數據回流分析標準化,打通業務上下游數據,在功能上實現流程閉環。也歡迎讀者交流討論。
原文鏈接
本文為云棲社區原創內容,未經允許不得轉載。
?
總結
以上是生活随笔為你收集整理的一个实时精准触达系统的自我修养的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: K8S从懵圈到熟练 - 我们为什么会删除
- 下一篇: 技术人看《长安十二时辰》的正确姿势是?