论文部分内容阅读
CDN全称为Content Delivery Network,中文为内容分发网络,诞生于20世纪90年代,由众多节点服务器和全局智能负载均衡系统组成,用于解决网络拥塞问题,为网络访问提供加速服务,是构建互联网的重要基础设施。CDN节点服务器日志中记录了加速服务请求信息与响应信息。通过对CDN节点服务器日志进行实时分析,挖掘出日志中包含的信息与价值,对CDN加速服务的核心指标进行实时检测与监控,为加速服务质量提升策略提供重要且可靠的数据支持。由于CDN是一个巨大的分布式网络,CDN加速平台平均每秒的数据访问量可达千万级别,每秒生成的日志数据量可达GB级别,每天能够产生大几PB的日志数据。如何设计一套低延迟、高吞吐的CDN海量日志实时分析平台,对海量CDN日志进行实时分析,是当前CDN研究领域亟待解决的问题.。本文分析了CDN海量日志实时分析存在的难点与当前解决方案存在的问题,并针对这些问题,提出了相应的设计方案与架构,最终形成了一套低延迟、高吞吐的CDN日志实时分析平台架构。其中针对海量CDN日志实时接入到日志实时计算引擎这一过程存在的难点与当前解决方案存在的日志接收处理能力扩展性差、日志流量切换效率低等问题,借助当前负载均衡技术、微服务注册与发现技术,设计了日志接收处理能力能够线性扩展、日志流量能够智能切换的日志接收组件ARRIS;针对日志实时计算部分存在的计算引擎与分析结果存储平台耦合、分析结果存在写入尖峰等问题,采用解耦思想,设计了一种计算引擎模块与分析结果录入模块之间的数据交互机制AA,并借助当前主流流式计算框架与消息系统,基于AA数据交互机制设计了具有限流、熔断功能的分析结果专用入库组件Anti-Flood;针对海量分析结果数据实时存取存在的难点与当前采用的MySQL分库分表方案存在的运维成本高昂、吞吐量低、长时间范围查询效率低等问题,根据CDN日志分析结果数据特性及服务用途对其进行分类,并借助当前现有的数据存储技术,设计了高吞吐的实时数据存储平台RTDP。本文最后对本课题设计的日志接入组件ARRIS、分析结果入库组件Anti-Flood与CDN海量日志实时分析全平台进行了功能验证,验证结果表明,日志接入组件ARRIS具备良好的日志实时接收与预处理能力,分析结果入库组件Anti-Flood很好的实现了计算引擎与存储模块间的解耦,且具备良好的入库能力与限流功能,CDN海量日志实时分析平台能够实现CDN海量日志实时分析功能,能够实现CDN加速服务质量的实时跟踪与监控。