对于一些应用场景,如移动端、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与开源产品及其他阿里云产品深度整合。
请参见日志服务主页体验该服务。