資料驅動之資料采集
資料驅動早已不是什麼新概念,現在我們聽說過的網際網路公司無一不是資料驅動類型的公司,資料的重要性直接關乎企業的命運。資料驅動一般分為4個步驟的循環:資料擷取、資料分析、資料應用和資料回報。
其中種類最多、工作最繁瑣的當屬資料擷取,每個業務方根本沒有人力物力單獨建設一套完整的日志采集系統。阿裡和Facebook、Netflix、LinkedIn等公司一樣,都已将日志采集作為公司的基礎設施進行建設和維護。
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyZuBnLzQ2YzcDZiFmY3cTZtATNkFWLiJmY00SNwgjNtgjN1cDMhVDMtcTN1IzM4MDO3IzM1EzLcNTOzMzMvw1ZuB3LchTMwIzLcBzLctmchx2Lc12bj5yayFGbu5ibkN2Lc9CX6MHc0RHaiojIsJye.png)
全球化資料采集的新挑戰
建設一套完備的日志采集基礎設施并不簡單,尤其在全球化逐漸普及的今天,我們需要去面對各種各樣的應用類型、用戶端類型、資料類型、網絡條件、地域限制、資料安全性、合規性等等問題。
其中有兩項工作最繁瑣和艱難:
- 繁瑣主要展現在需要建設各種各樣的資料采集手段,包括服務端采集Agent、移動端采集SDK、IOT/智能裝置采集、網頁、應用程式、資料庫、關聯應用等,每項工作看似簡單,但都是資料采集必不可少的環節。
- 艱難展現在全球化資料網絡的建設,現在更多的資料在端裝置中産生,無論是手機、攝像頭、智能音箱、穿戴裝置等等,而端上産生的資料對于使用者行為分析也至關重要。但對于分布全國、全球各個角落的端裝置,我們面對着營運商鍊路、偏遠地區網絡品質、跨洋資料傳輸、鍊路品質波動、劫持等等問題,這些并不是簡簡單單軟體層面能夠解決的問題,更多的需要對整個網絡硬體的投入。
上圖為某短視訊的下載下傳延遲和可用性基準測試結果
作為使用者最終的目标是為了分析資料。但這些問題的存在,需要消耗大量人力、精力和物力,幹了不一定幹得好。
而阿裡雲日志服務(SLS)就是一款專門解決日志采集、處理、分析的開箱即用型産品,本篇文章我們把重點放在如何基于日志服務把全球化資料采集做的又全、又快,更關鍵的是省時、省力、省錢。
采集端建構
日志服務提供
30+種開箱即用的資料采集手段,包括直接和雲産品打通的日志、移動端、服務端、程式、SDK、網頁、嵌入端等。在之前的一篇
全方位資料采集中,我們對各種日志采集方式進行了全方位的介紹。
概括起來,這些采集特點與試用場景如下:
方式 | 應用場景 | 目前規模 | 優勢 |
---|---|---|---|
Logtail | X86伺服器采集 | 百萬-千萬 | 功能強 |
Android/IOS SDK | 移動端資料采集、手機、POS機等 | 千萬DAU | 斷點續傳 |
C Producer Library | 硬體資源受限的系統(如 IoT、嵌入式、RTOS等) | 千萬-億級 | 資源消耗低 |
Web Tracking | 網頁靜态資料采集 | 輕量級,無驗證 |
采集加速通道
近期日志服務聯合阿裡雲CDN推出了一款
全球資料上傳自動加速方案:“基于阿裡雲CDN硬體資源,全球資料就近接入邊緣節點,通過内部高速通道路由至LogHub,大大降低網絡延遲和抖動 ”。
該方案有如下特點:
- 全網邊緣節點覆寫:全球1000+節點,國内700+節點,分布60多個國家和地區,覆寫六大洲
- 智能路由技術:實時探測網絡品質,自動根據營運商、網絡等狀況選擇最近接入
- 傳輸協定優化:CDN節點之間走私有協定、高效安全
- 使用便捷:隻需1分鐘即可開通加速服務,隻需切換到專屬加速域名即可獲得加速效果
資料采集新形态-全球加速
采集加速原理
日志服務全球加速會為加速project專門開通一個加速域名,所有通過加速域名的通路均具有加速效果。對于加速域名的請求處理流程如上圖所示,整體流程詳細說明如下:
- 使用者向日志服務的加速域名
發起日志上傳、下載下傳等請求,首先需要向公共DNS發起域名解析請求。{your-project}.log-global.aliyuncs.com
- 公共DNS處的
域名指向的是CNAME位址{your-project}.log-global.aliyuncs.com
,此時域名請求會轉發至阿裡雲CDN的CNAME節點。{your-project}.log-global.aliyuncs.com.w.kunlungr.com
- CNAME節點基于阿裡雲CDN智能排程系統,會将最優的CDN邊緣節點IP傳回給公共DNS。
- 公共DNS将最終解析到的IP位址傳回給用戶端。
- 用戶端根據擷取的IP位址向服務端發起請求。
- CDN邊緣節點接收到請求後,基于動态路由查找、私有傳輸協定将請求路由至距離日志服務服務端最近的節點,最後将請求轉發到日志服務。
- 日志服務的服務端接收到CDN節點請求後,将請求結果傳回給CDN節點。
- 最後CDN将日志服務傳回的請求結果/資料透傳到用戶端。
如何使用
全球加速使用極其友善,隻需根據文檔步驟開通加速服務,對于日志服務提供的30+種采集方式,都可切換到全球加速方式:
Logtail日志采集
安裝Logtail時可選擇 全球加速 方式即可。
其他采集方式
其他通過
,
Android SDK IOS SDK Producer等通路日志服務的方式均可通過替換endpoint獲得加速效果:将endpoint替換為
log-global.aliyuncs.com
。
加速效果
在我們的日志上傳基準測試中,全球7個區域對比整體延時下降50%,在中東,歐洲、澳洲和新加坡等效果明顯。除了平均延時下降外,整體穩定性也有較大提升(參見最下圖,幾乎沒有任何抖動,而且逾時請求基本為0)。確定無論在全球的何時何地,隻要通路這個加速域名,就能夠高效、便捷将資料采集到期望Region内。
測試地域 | 延時ms(普通公網) | 延時ms(加速) | 逾時占比%(普通公網) | 逾時占比%(加速) |
---|---|---|---|---|
杭州 | 152.881 | 128.501 | 0.0 | |
歐洲 | 1750.738 | 614.227 | 0.5908 | |
美國 | 736.614 | 458.340 | 0.0010 | |
新加坡 | 567.287 | 277.897 | 0.0024 | |
中東 | 2849.070 | 444.523 | 1.0168 | |
澳洲 | 1491.864 | 538.403 | 0.014 |
測試環境:日志服務所在Region:華北5(呼和浩特);平均上傳資料包大小:10KB;測試時間範圍:1天(取平均值);請求類型:HTTPS;請求伺服器:阿裡雲ECS(規格1C1GB)。