對于一些應用場景,如移動端、HTML網頁、PC、服務器、硬件設備、攝像頭等,需要實時收集公網數據并進行實時處理。在傳統架構中,一般通過前端服務器+Kafka來實現如上功能。現在日志服務LogHub功能可以代替這類架構,并提供穩定、低成本、彈性、安全的解決方案。
應用場景
公網數據采集包含移動端、外部服務器、網頁和設備數據的采集,采集完成后需要進行實時計算、數據倉庫等數據應用。
方案1:前端服務器+Kafka
由于Kafka不提供RESTful協議,更多是在集群內使用,因此一般需要Nginx服務器做公網代理,再使用Logstash或API通過Nginx將公網數據寫入到Kafka等消息中間件。需要的設施如下:
設施 | 數目 | 配置 | 作用 | 價格 |
ECS服務器 | 2臺 | 1核2 GB | 將2臺ECS都作為前端機,同時提供服務 | 108元/臺*月 |
負載均衡 | 1臺 | 標準 | 按量計費實例 | 14.4元/月(租賃)+0.8元/GB(流量) |
已安裝Kafka和ZooKeeper的服務器 | 3臺 | 1核2 GB | 數據寫入并處理 | 108元/臺*月 |
方案2:使用Loghub
通過Mobile SDK、Logtail、Web Tracking JS直接寫入Loghub EndPoint。需要的設施為:
設施 | 作用 | 價格 |
LogHub | 實時數據采集 | 小于0.18元/GB。更多信息,請參見 計費規則。 |
方案對比
場景1:一天采集10 GB數據,大約一百萬次寫請求。(這里10 GB是壓縮后的大小,實際數據大小一般為50 GB~100 GB左右。)
方案1
負載均衡的租賃費用:0.02×24×30=14.4元
負載均衡的流量費用:0元(上行流量免費,無公網下行流量)
ECS費用:108×2=216元(假設磁盤費用免費)
Kafka ECS費用:免費,假設與其他服務公用
共計:484.8元/月
方案2
LogHub的流量費用:10×0.18×30=54元
LogHub的請求次數費用:0.12×30=3.6元
共計:57.6元/月
場景2:一天采集1 TB數據,大約一億次寫請求。
方案1
負載均衡的租賃費用:0.02×24×30=14.4元
負載均衡的流量費用:0元(上行流量免費,無公網下行流量)
負載均衡的規格費用:0.63×24×30=453.6元(標準型II (slb.s2.medium))
ECS的費用:240×2=480元(ecs.g6.large)
ECS的磁盤費用:4800元(高峰是均值的2倍,單Replica需要確保50 MB/s寫入,數據保存3天6 TB容量,SSD云盤月費用在4800元)
Kafka ECS的費用:免費,假設與其他服務公用
共計:6696元/月
方案2
LogHub的流量費用:1000×0.15×30=4500元(階梯計價)
LogHub的請求次數費用:0.12×100×30=360元
共計:4860元/月
對比結果
從以上兩個場景可以看出,使用方案2進行公網數據采集,比方案1的成本低很多。除此之外,和方案1相比方案2還具有以下優勢。
彈性伸縮:MB-PB/Day間流量隨意控制。
豐富的權限控制:通過ACL控制讀寫權限。
支持HTTPS:傳輸加密。
日志投遞免費:不需要額外費用就能與數據倉庫對接。
監控數據豐富:可以清楚的知道業務的具體情況。
基于SDK與上下游對接:LogHub支持多種SDK。您可以使用這些SDK將LogHub與上下游系統對接,以實現LogHub與開源產品及其他阿里云產品深度整合。
請參見日志服務主頁體驗該服務。