对一些应用场景而言,需要实时收集公网数据 (例如,移动端、HTML 网页、PC、服务器、硬件设备、摄像头等)实时进行处理。

在传统的架构中,一般通过前端服务器 + Kafka 这样的搭配来实现如上的功能。现在 日志服务 的 loghub 功能 能够代替这类架构,并提供更稳定、低成本、弹性、安全的解决方案。

场景

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



方案 1:前端服务器 + Kafka

由于 Kafka 不提供 Resful 协议,更多是在集群内使用,因此一般需要架设 Nginx 服务器做公网代理,再通过 logstash 或 API 通过 Nginx 写 Kafka 等消息中间件。

需要的设施为:

设施 数目 配置 作用 价格
ECS 服务器 2 台 1 核 2GB 前端机、负载均衡,互备 108 元/台*Month
负载均衡 1 台 标准 按量计费实例 14.4 元/Month(租赁) + 0.8 元/GB (流量)
Kafka/ZK 3 台 1 核 2GB 数据写入并处理 108 元/台*Month

方案 2:使用 loghub

通过 Mobile SDK、logtail、Web Tracking JS 直接写入 loghub EndPoint。

需要的设施为:

设施 作用 价格
loghub 实时数据采集 < 0.2 元/GB,参见 计费规则

场景对比

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

方案 1:
--------------
负载均衡 租赁:0.02 * 24 * 30 = 14.4 元
负载均衡 流量:10*0.8*30  = 240 元
ECS 费用:108 * 2 = 216 元
Kafka ECS: 免费,假设与其他服务公用
共计:484.8 元/月

方案 2:
--------------
loghub 流量:10 * 0.2 * 3- = 60 元
loghub 请求次数:0.12 (假设一天 100W 请求)* 30 = 3.6 元
共计:63.6 元/月

场景 2:一天 1TB 数据采集,大约一亿次写请求。

方案 1:
--------------
负载均衡 租赁:0.02 * 24 * 30 = 14.4 元
负载均衡 流量:1000 * 0.8* 30  = 24000 元
ECS 费用:108 * 2 = 216 元
Kafka ECS: 免费,假设与其他服务公用
共计:24230.4 元/月

方案 2:
--------------
loghub 流量:1000 * 0.15 * 30 = 4500 元 (阶梯计价)
loghub 请求次数:0.12 * 100(假设一天 1 亿请求)* 30 = 360 元
共计:4860 元/月

方案比较

从以上两个场景可以看到,使用 loghub 进行公网数据采集,成本是非常有竞争力的。除此之外,和方案 1 相比还有以下优势:

  • 弹性伸缩:MB-PB/Day 间流量随意控制
  • 丰富的权限控制:通过 ACL 控制读写权限
  • 支持 HTTPS:传输加密
  • 日志投递免费:不需要额外开发就能与数据仓库对接
  • 详尽监控数据:让您清楚业务的情况
  • 丰富的 SDK 与上下游对接:和 Kafka 一样拥有完整的下游对接能力,和阿里云及开源产品深度整合

有兴趣可以参见 日志服务主页 体验该服务。