对于一些应用场景,如移动端、HTML 网页、PC、服务器、硬件设备、摄像头等,需要实时收集公网数据并进行实时处理。在传统架构中,一般通过前端服务器 + Kafka 这样的搭配来实现如上功能。现在日志服务的 loghub 功能可以代替这类架构,并提供稳定、低成本、弹性、安全的解决方案。

应用场景

公网数据采集包含移动端、外部服务器、网页和设备数据的采集,采集完成后需要进行实时计算、数据仓库等数据应用。场景

方案1:前端服务器 + Kafka

由于 Kafka 不提供 Resful 协议,更多是在集群内使用,因此一般需要 Nginx 服务器做公网代理,再使用 logstash 或 API 通过 Nginx 将公网数据写入到 Kafka 等消息中间件。需要的设施如下:
设施 数目 配置 作用 价格
ECS 服务器 2 台 1 核 2GB 将 2 台 ECS 都作为前端机,同时提供服务 108 元/台*月
负载均衡 1 台 标准 按量计费实例 14.4 元/月(租赁) + 0.8 元/GB (流量)
已安装Kafka和ZooKeeper的服务器 3 台 1 核 2GB 数据写入并处理 108 元/台*月

方案2:使用loghub

通过 Mobile SDK、logtail、Web Tracking JS直接写入 loghub EndPoint。需要的设施为:
设施 作用 价格
loghub 实时数据采集 < 0.18 元/GB,具体请参见 计费规则

方案对比

场景 1:一天采集 10GB 数据,大约一百万次写请求。(这里 10GB 是压缩后的大小,实际数据大小一般为 50GB~100GB 左右。)

方案 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:一天采集 1TB 数据,大约一亿次写请求。

方案 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与开源产品及其他阿里云产品深度整合。

请参见 日志服务主页 体验该服务。