原文链接:http://click.aliyun.com/m/25755/
摘要: 使用云服务最大好处是按量付费,无需预留资源,因此各云产品都有计量计费需求。这里我们介绍一种基于[日志服务](http://www.aliyun.com/product/sls/)计量计费方案,该方案每天处理千亿级计量日志,被众多云产品使用:
使用云服务最大好处是按量付费,无需预留资源,因此各云产品都有计量计费需求。这里我们介绍一种基于日志服务计量计费方案,该方案每天处理千亿级计量日志,被众多云产品使用:
计量日志生成计费结果过程
计量日志记录了用户涉及计费的项目,后台计费模块根据计费项和规则进行运算,产生最后账单。例如如下原始访问日志记录了项目(Project)使用情况:
microtime:1457517269818107 Method:PostLogStoreLogs Status:200 Source:10.145.6.81 ClientIP:112.124.143.241 Latency:1968 InFlow:1409 NetFlow:474 OutFlow:0 UserId:44 AliUid:1264425845278179 ProjectName:app-myapplication ProjectId:573 LogStore:perf UserAgent:ali-sls-logtail APIVersion:0.5.0 RequestId:56DFF2D58B3D939D691323C7
计量计费程序读取原始日志,根据规则生成用户在各维度使用数据(包括流量、使用次数、出流量等):
image.png
让我们看下几个计量日志计费场景:
电力公司:每10秒会收到一条日志,记录该10秒内每个用户ID下该周期内功耗、峰值、均值等,每天、每小时和每月给用户提供账单
运营商:每隔10秒从基站收到时间段内某个手机号码的动作(上网、电话、短信、VoIP),使用量(流量),时长等信息,后台计费服务统计出该区间内消耗资费
天气预测API服务:根据用户调用接口类型、城市、查询类型、结果大小等对用户请求进行收费
要求与挑战
既要算对,又要算准是一件要求很高的事情,系统要求如下:
准确可靠:多算用户吃亏,少算我们吃亏
灵活:支持补数据等场景,例如一部分数据没有推过来,当需要修正时可以重新计算
实时性强:能够做到秒级计费,对于欠费场景快速切断
其他需求(Plus):
账单修正功能:在实时计费失败时,我们可以通过理想计费进行对账
查询明细:支持用户查看自己消费明细
现实中还有两类不小的挑战:
不断增长数据大量:随着用户以及调用上升,数据规模会越来越大,如何保持架构的弹性伸缩
容错处理:计费程序可能有Bug,如何确保计量数据与计费程序独立
这里我们讨论一种阿里云基于日志服务开发计量计费方案,该方案已在线上稳定运行多年,从未出现过一粒算错,延迟等情况,供单价参考
系统架构
以阿里云日志服务的LogHub功能为例:
使用LogHub进行计量日志实时采集与计量程序对接:LogHub 支持的30+种API和接入手段,接入计量日志非常容易
计量程序每隔固定时间消费LogHub中步长数据,在内存中计算结果生成计费数据
(附加)对明细数据查询需求,可以将计量日志配置索引查询
(附加)将计量日志推送至OSS、MaxCompute进行离线存储,进行T+1等对账与统计
image.png
实时计量程序内部结构:
根据LogHub读取接口GetCursor功能,选定某个时间段日志(例如10:00-11:00)Cursor
通过PullLogs接口消费该时间段内数据
在内存中进行数据统计与计算,拿到结果,生成计费数据
(我们可以以此类推,把选择时间计算逻辑修改为1分钟,10秒钟等)
image.png
性能分析:
假设有10亿条/天计量日志,每条长度为200字节,数据量为200GB
LogHub 默认SDK或Agent都带压缩功能,实际存储数据量为40GB(一般至少有5倍压缩率),一个小时数据量为40/24 = 1.6GB
LogHub读取接口一次最大支持读1000个包(每个包最大为5MB),在千兆网条件下2秒内即可读完
加上内存中数据累计与计算时间,对1小时计量日志进行汇总,不超过5秒
数据量大如何解决,例如一天十万亿
在一些计费场景下(例如运营商、IoT等)计量日志量会很大(例如十万亿,数据量为2PB/Day),折算压缩数据后一小时有16TB,以万兆网络读取需要1600秒,已不能满足快速出账单需求。
这里一般使用2种手段:
1. 控制产生的计费数据量
我们对于产生计量日志程序进行改造(例如Nginx),先在内存中做了聚合,每隔1分钟Dump一次该时间段聚合的汇总计量日志结果。这样数据量就和总体的用户数相关了:假设Nginx该时间段内有1000个用户,一个小时数据点也才1000 * 200 * 60 = 12GB(压缩后为 240 MB)
5. 将计量日志处理并行化
LogHub下每个日志库可以分配不同Shard(分区),我们可以分配3个分区,3个计量消费程序。为了保证一个用户计量数据总是由一个消费程序处理,我们可以根据用户ID Hash到固定Shard中。例如杭州市西湖区用户写在1号Shard,杭州上城区用户数据写在2号Shard,这样后台计量程序就可水平扩展。
原文链接:http://click.aliyun.com/m/25755/
分享到:
相关推荐
【计量检测管理系统的分布式数据处理方案】 随着信息技术的迅速发展,计量检测技术也在不断提高,越来越多的检定工作采用现代化手段,比如全自动化的计算机控制。计量检测管理系统中的数据处理面临着一个挑战:如何...
在电力行业中,计量自动化系统(Metering Automation System, MAS)是关键组成部分,它负责收集、处理、分析和管理大量的电能计量数据。本压缩包文件“基于计量自动化系统平台的典型计量故障分析.rar”主要探讨了在...
IDT计量芯片上位机校表软件是一款专用于电能计量芯片校准的工具,它采用了...综上所述,IDT计量芯片上位机校表软件结合了C#编程、串口通讯技术和电能计量专业知识,为电能计量行业的精准校表提供了一套有效的解决方案。
园林相关-资料员必备文档系列 园林相关的建筑施工资料员需要掌握的重要知识点有: 一、施工前资料: 1. 中标通知书及施工许可证 2. 施工合同 3. 委托监理工程的监理合同 4. 施工图审查批准书及施工图审查报告 5. ...
《计量装置故障处理流程》这份文档是针对电力、能源或者自动化领域的专业人员设计的,它详细阐述了在遇到计量装置故障时,如何高效、规范地进行处理,以确保设备正常运行,减少损失,并提高工作效率。以下是对这个...
- **服务台工单管理**:处理各类工单并确保符合服务等级要求。 4. **官网活动策划** - **活动策划**:包括资源服务产品活动宣传方案的制定、内容UI设计等。 - **内容审核**:确保活动方案内容的完整性和合规性。...
【眉山市城市污水处理厂(二期)土建工程监理实施细则】是四川元丰建设项目管理有限公司为眉山市城市污水处理厂的二期建设所制定的一份详细监理文档,旨在规范和指导土建工程的监理工作,确保工程的质量、进度、投资...
- 审查施工方案,检查地基处理质量。 - 监管基础处理、护坡等施工环节。 - 配合其他专业进行监理工作。 5. **爆破专业监理工程师**: - 编写爆破施工监理细则。 - 审查爆破方案和安全措施。 - 检查安全体系的...
在处理故障时,除了上述的故障分类和日志分析,还需要了解常见的服务异常处理思路,这包括了问题定位、原因分析、解决方案制定和实施、以及故障预防措施的制定。同时,对于FusionCloud中的高危操作,如不正确的配置...
该体系包含了一系列标准的文档表格,涵盖了施工过程中的各个环节,便于各方协作和信息交流。 1. **施工启动与管理**: - 工程监理机构通知书 (浙路 JD-JB-001) 用于正式确认监理机构的设立。 - 工程开工通知书 ...
- **进度检查与动态控制**:通过施工日志等手段持续跟踪工程进展,及时发现并解决问题。 - **工程计量与进度付款**:根据工程进度进行计量,为支付提供依据,同时保证资金流与进度同步。 这个方案强调了在施工...
系统的实施目标是满足用户的实际需求,操作便捷,并通过产品系列化实现市场占有率的提升。 2. 系统组成与功能: - 新型计量封印:由数码封和条码封构成,内嵌电子芯片,具有自锁、防开启和编码防伪功能。 - CL...
- **记录方案**:可选配置,用于日志记录和审计追踪,增强网络监控能力。 #### 配置步骤 - **建立配置任务**:定义配置的目标和范围,为后续操作做好准备。 - **配置认证方案**:设置认证协议、服务器地址等,确保...
- 不合格计量器具的处理; - 计量器具报废更新。 ##### 9. 节水、节电治理工作流程 - **目的**: 提高能源使用效率,减少浪费。 - **步骤**: - 制定节水、节电管理方案; - 设备设施的定期检查与维护; - 水电...
该方案首先需要分析和设计多源检测日志信息的采集和格式化统一模型,以解决现有系统在遭受攻击后,检测数据孤立、证据不足的问题。这意味着需要采集不同来源的数据,然后通过一定的数据融合技术,整合这些信息,以...
- **权限管理与日志记录**:系统具备完善的权限管理体系,日志记录详尽且可按时间段和工具类型进行下载,确保操作的透明性和可追溯性。 #### 2. 门禁管控子系统 - **双重身份验证**:结合人脸识别和电子标签双重...
- 平台应能处理多种类型的数据,包括结构化、半结构化和非结构化数据,如交易数据、日志数据和影像视频数据。 - 快速处理近实时数据,支持即席分析和实时访问,同时具备流式数据计算能力,如反欺诈应用。 2. **...
DJH-A-08至DJH-A-14涉及了调试方案、开工申请、进度调整、材料及构配件供应商资质、设备开箱、缺陷处理等关键环节,确保施工质量和进度得到有效控制。 在材料和设备方面,DJH-A-15至DJH-A-19涵盖了供应商资质、材料...
该系统通过采用先进的技术方案,实现了对能源计量数据的有效收集和管理,显著提升了能源使用的效率和管理水平。 系统采用了工业上广泛应用的EIARS-485网络结构,这一选择基于对昆钢实际环境的考虑。由于电磁污染...