廣汽本田精準營(yíng)銷(xiāo)項目
項目背景描述
隨著(zhù)近幾年汽車(chē)銷(xiāo)量下滑,廣汽本田想借助互聯(lián)網(wǎng)營(yíng)銷(xiāo)技術(shù),來(lái)提升本公司的汽車(chē)銷(xiāo)量。通過(guò)采用最近火熱的大數據精準營(yíng)銷(xiāo),為廣本帶來(lái)一定銷(xiāo)量。由于大數據精準營(yíng)銷(xiāo)平臺的不穩定與容量不足,導致廣本在2018年4月18日的促銷(xiāo)活動(dòng),以失敗告終。
大數據精準營(yíng)銷(xiāo)平臺(簡(jiǎn)稱(chēng):DMP),通過(guò)在第三方與小轎車(chē)有關(guān)的專(zhuān)業(yè)網(wǎng)站,進(jìn)行數據埋點(diǎn),然后,將與汽車(chē)相關(guān)的用戶(hù)數據,引流到廣本DMP上,進(jìn)行數據分析,定位用戶(hù)的需求,推送相關(guān)車(chē)型廣告。
原本廣本的整個(gè)大數據分析系統經(jīng)(DMP)都部署在本地機房,由于4.18活動(dòng)的訪(fǎng)問(wèn)量瞬間突增,導致DMP已準備的基礎資源容量不足,系統直接崩潰;本身日常維護對廣本來(lái)講,也是相當困難,因為需要具備很多能力,例如:Hadoop/HDFS/Hive/Kafa/Redis等,帶寬資源也是頭大難題??紤]到以上眾多問(wèn)題,以及4.18事件,廣本決定把DMP遷移到AWS,并核心的數據處理組件,采用EMR和S3。如下圖:
架構描述
1.ELB負載均衡分為兩種,一種位于http(s)應用層(ALB),另一種位于網(wǎng)絡(luò )層(NLB)。因為DMP本地使用http協(xié)議,所以我們選擇ALB,從而可以直接重復利用現有程序,無(wú)需要修改代碼。
2.ALB收集的數據平分給EC2群組內各個(gè)EC2進(jìn)行初步數據處理,從而實(shí)現負載均衡。這里有兩個(gè)EC2群組,分別位于不同可用區(AZ)。兩個(gè)可用區地理位置至少相隔50公里,當一個(gè)可用區發(fā)生自然災害時(shí),另一個(gè)可用區可接管所有工作,系統可用性高。
3.EC2群組可以根據組內平均CPU利用率、平均網(wǎng)絡(luò )IO字節、平均硬盤(pán)IO操作數等指標自動(dòng)擴展或收縮。
4.初步處理過(guò)的數據經(jīng)過(guò)Kafka分發(fā)給3個(gè)下游子系統使用。
5.EMR支持兩種數據處理框架:實(shí)時(shí)處理(Spark streaming)和批量處理(Hadoop)。EMR群集可以根據業(yè)務(wù)量配置自動(dòng)伸縮策略。
6.實(shí)時(shí)EMR處理完的數據可存儲在S3,S3數據在寧夏區域的3個(gè)AZ中均有復本,實(shí)現數據同城災備。S3還可定義數據生命周期 將冷數據根據一定規則自動(dòng)轉存到Glacier以節省成本。
7.批量EMR只在需要的時(shí)候才啟動(dòng),以節省資源使用成本。當數據量積累得足夠多時(shí),啟動(dòng)批量EMR處理并根據業(yè)務(wù)需要存儲到MariaDB或S3。
8.MariaDB是AWS托管的服務(wù),AWS負責數據庫的維護工作,用戶(hù)只管使用數據庫即可。
9.Redis和Druid,目前DMP暫時(shí)沒(méi)有業(yè)務(wù)需求,所以并沒(méi)有部署。但是將來(lái)如有需要可迅速部署,AWS云資源可在分鐘級別的時(shí)間內即可用。
10.AWS有豐富的運維工具:CloudWatch可監控EC2等系統資源使用情況、CloudTrail可監控dmp系統的任何API調用,適合安全審核、SNS可以發(fā)送郵件等方式通知操作員目前系統運行狀況、IAM用于控制每個(gè)系統用戶(hù)的權限管理。