欢迎来到天天文库
浏览记录
ID:56000785
大小:1.78 MB
页数:28页
时间:2020-06-19
《大数据-滴滴业务实时监控系统架构及实践.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、滴滴业务实时监控系统架构及实践艾毅2016/12议程•滴滴实时监控系统演变历程•当前架构及服务介绍•系统优化方向滴滴实时监控系统演变历程2015年之前2015年至今挑•业务数据库分库、分表•快速满足业务需求战•数据、维度、指标越来越多预计算瓶颈:优势:解决方案•计算、存储成本指数级增长•实时分析海量数据(秒级)•不易扩展•OLAP系统交互式查询议程•滴滴实时监控系统演变历程•当前架构及服务介绍•系统优化方向滴滴实时监控系统当前架构概览MysqlBinlogCanalServerTextLogFlumeAgentKafkaCluster1Samza
2、UnifiedETLJob•Rawdata•数据格式转换•通用业务APIPythonDaemon•数据去重KafkaCluster2SamzaMetricsComputingOnlineMachineLearning•Jsondata•数据分析APP:监控报警、热力图…DruidKafkaReal-timeIndexerSamzaHDFSProducer基于指标的语义化APIDruidBrokerAPIDruidHDFSBatchIndexerHDFS当前系统架构特点•高可用•易扩展•高性能•支持有状态的实时计算为何选用Kafka?Kafka是一
3、个高性能、高可用、易扩展的分布式日志系统将整个数据处理流程解耦为何选用Druid?Druid是针对时间序列数据提供低延时的数据写入以及快速交互式查询的的分布式OLAP数据库Druid的数据存储方式•为OLAP查询优化过的列式存储结构:Segment•Segment中存储聚合计算后的统计结果•主要根据时间对Segment文件进行分片存储Segment包含的三种列类型•时间戳列Ø作为数据分发、存储、查询的依据•维度列Ø支持过滤和分组Ø使用字典编码压缩Ø使用BitMap索引压缩•指标列Ø用来聚合计算Ø使用LZ4压缩Druid的数据处理流程介绍Druid
4、节点实时流数据外部依赖缓存Lambda架构客户端请求Segements查询缓存离线数据元数据DruidKafkaIndexingService介绍MiddleManagers•实现Exactly-Once的实时计算MiddleManager1KafkaOverlordPartition0Topic1MiddlePartition1Manager2Partition0Topic2Partition1Middle•Kafka中每个Partiton的消息是Manager3控制流严格有序、追加写入、不可改变数据流的•可“回退”到任意的Partition-
5、offset重新消费数据Druid支持近似统计算法•为什么要使用近似算法?Ø计算速度快Ø误差可控Ø显著降低计算、存储需求•Druid是如何实现近似算法的?Ø基于Yahoo开发的datasketches库Ø使用ThetaSketch近似算法Ø支持集合操作(并集、交集、差集)Druid支持地理查询•矩形查找滴滴实时订单热力图•圆形查找•任意多边形查找Ø滴滴贡献给了社区Ø包含在Druid0.9.2版本为何选用Samza?Samza是一个分布式的实时计算框架;支持低延时的、有状态的实时计算Samza运行机制介绍NodeManagerNodeManager
6、NodeManagerNodeManagerYARNAMYARNAMYARNAMYARNAMSamzajobSamzajobVSMRjobMRjobContainer1Container2Container1Container2Host1Host2Host1Host2SamzaJobonYARNMapReduceJobonYARNSamzaJob可看作一个实时计算版的Map/ReduceJobSamza数据处理流程介绍Partition0Partition1Partition2本地状态存储(RocksDB)输入流Container1Contain
7、er2jobTask0Task1Task2CheckpointStream输出流ChangelogStreamSamza的高可用性KafkaLogALogBLogCLogDSamzaJob1Job2YARN•不会出现“雪崩”•不会丢失数据•缓存队列:基于磁盘,不受内存限制•YARN为SamzaJob提供了容错机制Samza常见计算类型•处理单条信息ØFilter:根据特定条件筛选匹配的记录ØMap:Log=f(Log)•处理多条信息ØJoin:对多个数据流做关联计算需要状态管理ØGroup:对记录进行分组ØAggregate:对处于相同Group
8、的数据进行聚合计算Samza实现有状态的实时计算•基于过去的数据状态来处理当前的数据:本质是数据缓存机制•Samza基于RocksDB实
此文档下载收益归作者所有