天天看點

如何建構營銷活動平台(三):活動平台擴充性演進

前言

經過了幾個月的努力,初步建立了營銷平台,也承載了幾個營銷活動。但是也存在規劃工作不充分,

代碼層面要求未規範,導緻後續的營銷活動策劃,設計,管理,開發出現了一系列的問題,包括不能快速疊代接入

新的營銷活動,不能及時響應營運和市場的節奏

一期應用搭建完成接入第一個活動之後,對于規範這塊要求松懈,同時由于多個項目時間排期周期趕,

多人撸代碼風格不一緻,導緻了一系列的技術債。所謂就是先污染後治理,經過這樣的經驗教訓之後,也總結

了幾點避免類似的情況再度發生:

1.承擔應用OWNER職責,制定應用開發規範,對于包規範和通用概念先行制定好規則

2.架構評審和代碼REVIEW要抓牢

目标

營銷活動業務的難點

(一) 活動開發的複雜性

  • 開發一個活動本身需要一定的工作量。尤其是大型的推廣活動,這類型的活動對功能和性能的要求比較高
  • 活動功能衆多,包括新人注冊,邀請分享,紅包,砍價,支付等,這些不同的參與和表現形式,也會涉及更多的後端接口通信和聯調
  • 還有一個非常重要的問題,就是活動營運的安全和可靠性。因為,我們的活動,大多涉及金額,對安全風控要求很高。

(2)開發成本

  • 傳統手工開發模式,普通活動也需要1周的開發周期,而典型大型活動更是需要3-4周開發周期,開發和測試工作量繁重
  • 後續如果針對節假日某些爆點營銷,時間要求更緊張

希望解決的問題

  • 元件化,産品子產品解耦
  • 擴充性不夠強,對于不同形式的營銷活動相容性不夠
  • 建設高效活動開發模式,建構一套開發規範
  • 保證營銷活動的安全
  • 代碼規範,類屬性命名統一化,包命名規範化,異常管理,日志規範化列印

準備做

  • 規範營銷體系架構,清晰每個産品再營銷體系中的定位與關系
  • 在設計新的營銷活動運作和管理平台時,充分考慮各種營銷活動的共性,在同一活動流程,明确活動要素的前提性,盡可能實作營銷活動的配置化開發和管理。減少營銷活動的開發成本,快速響應市場營運的各種活動需求

活動平台架構介紹

如何建構營銷活動平台(三):活動平台擴充性演進

建構高效活動營運開發模式

1.元件化

如何建構營銷活動平台(三):活動平台擴充性演進

分層、複用、簡化,做到活動功能元件配置組合使用

  • 統一路由元件:請求路由分發,全局異常捕獲,日志列印
  • 配置活動解析引擎:不同類型的活動配置組裝,關聯規則集合和動作集合
  • 安全中心:風險控制,黑白名單
  • 規則引擎:規則執行檢驗器
  • 背景管理:營運活動設定
  • Rule條件集合:管道狀态規則,活動時間規則,活動狀态規則,活動人群規則,參與次數規則等等
  • Action動作集合:發放紅包,記錄參與記錄,通知使用者等等
  • 獎勵元件:紅包發放
  • 通知元件:PUSH通知,短信提醒等等觸達方式
  • 統計元件:資料埋點,活動效果
  • util:工具

2.核心UML圖

如何建構營銷活動平台(三):活動平台擴充性演進

核心類介紹

  • ActivityRequest:活動請求對象,所有的活動請求類都需要實作該接口
  • ActivityResponse:活動響應對象,所有活動響應對象都需要實作該接口
  • ActivityDTO:活動資料傳輸對象,包括活動配置,以及一些中間處理傳輸資料,每個活動都需要定義各自的DTO,實作該接口
  • CommonFactory:bean工廠,内部類Container作為Bean容器,存放活動相關的處理類。
  • ActivityDispatch:活動路由分發,統一的路由服務,請求主入口
  • IActivityDTOParser:ActivityDTO的解析器,主要完成DTO的組裝
  • IActivityHandler:活動處理器,根據不同的FunctionCode自行定義内部方法,對應不同的FunctionCode可以派生多個子類,子類内部可以抽象定義一套模闆方法,具體交由各個活動自行實作
  • IActivityResponseParser:活動響應對象解析器,主要完成Response的組裝

FunctionCode 抽象流程

ACTIVITY_PARTICIPATE

如何建構營銷活動平台(三):活動平台擴充性演進

對于後續可能擴充的功能,定義好一個FunctionCode,分析功能抽象出對應的模闆方法,交由子類具體實作

3.服務治理

3.1 dubbo

  • sentines接入:不被别人搞死
  • 叢集容錯
  • 設定調用逾時時間

3.2 解耦,減少系統依賴的服務

  • 減少跟其它分布式應用的依賴

3.3 業務降級

  • 核心業務鍊路調用非核心服務,try catch降級,設定逾時傳回,轉化為異步處理

3.4 監控告警

  • kibana
  • 日志監控(郵件、短信)
  • 分布式鍊路追蹤
  • falcon
  • zabbix

後期規劃

1、設計一套日志埋點元件,專門用于活動埋點統計

2、産品層面上活動營運配置化,管理背景設計,支援組合搭配,快速響應營運需求

3、安全中心建設,支援多種風控規則

有興趣的同學可以直接去github上面下載下傳源碼哦,https://github.com/caisl/activity-platform.git

繼續閱讀