1. 背景
随着大数据技术的发展,大规模数据计算能力已不再是瓶颈,用户对于数据处理的时效性、准确性与稳定性等要求在业务发展中日益突出。贝壳找房自研的秒 X 实时分析平台可以满足各条业务线获取实时业务指标进行运营和决策,对复杂业务场景进行高效、精准、多维度组合和细粒度的实时数据监控,针对业务具体关注的指标进行实时监控和报警。
2. 架构
秒 X 实时分析平台架构图
Spark Streaming
目前业界主流的流式数据处理包括 Flink、Spark Streaming、Storm,这几种技术的指标比较如下图:
在我们可接受的秒级延迟情况下,选用 SparkStreaming 能保证较高的吞吐量,且 Spark Streaming 是建立在 Spark 上的实时计算框架,基于 Spark 生态引入成本较低也相对稳定。可以实现高吞吐量的、具备容错机制的实时流数据的处理。支持从 Kafka、Flume 等多种数据源获取数据,从数据源获取数据之后,可以使用多种算子进行复杂算法的处理。
秒 X 实时分析平台使用 SparkStreaming 进行数据的解析、清洗、加工。
Druid.io
Druid 是一个分布式的、支持实时多维 OLAP 分析的数据处理引擎。秒 X 实时分析平台使用 Druid.io 进行实时的指标统计、数据分析。我们主要关注 Druid 的如下特性。
实时分析
Druid 提供了包含基于时间维度数据的存储服务,支持流式数据摄入。支持 TopN、GroupBy、Filter、Count 等即席查询常用方法.
数据吞吐量大
Druid 可提供 PB 级数据亚秒级查询。
查询灵活且快
Druid 中数据的聚合粒度可以是分钟级、小时级、日级。部分数据预聚合给 Druid 提供了很大的性能优化空间。Druid 也采用了 Bitmap 和各种压缩技术来优化内存使用。
Elasticsearch
Elasticsearch 是一个高可扩展的开源全文搜索和分析引擎,它允许存储、搜索和分析大量的数据。它通常被用作底层引擎和技术,为复杂的搜索功能和要求提供支持。目前,秒 X 系统采用 ES 进行明细数据的检索。
擎和技术,为复杂的搜索功能和要求提供支持。目前,秒 X 系统采用 ES 进行明细数据的检索。
3. 快速配置
将接入系统的每个数据源(kafka topic)视为一个任务,通过配置系统可将单个 topic 中的每一类日志处理为一个事件。对于每一类业务事件配置解析成一系列字段,并可根据用户需要对解析出的字段进行过滤与转换。最后,配置索引以支持日志检索,配置维度与指标以支持业务指标的查询。
4. 数据处理流程
数据采集
收集各数据源日志,目前主要接入 kafka,后续公司内部可支持通过域名自动接入。
数据清洗
实时接收 kafka 中的日志数据,根据用户配置,基于低延迟、高吞吐量的准实时框架 Spark Streaming 进行清洗、转换。处理过的结构化数据将再次发送到 kafka
数据存储
处理后的数据需要存储在存储引擎中供后续查询使用。主要用到的存储引擎有Druid.io、Hbase、Elasticsearch、Redis
数据应用
存储引擎中的数据后续应用,目前包括以下几种:
通过数据可视化配置为看板。关注指标、了解趋势
配置报警。当某项指标或组合指标达到报警条件,会通过邮件或短信及时通知
按条件检索明细数据
提供 API 接口,供业务系统获取数据
5. 监控和报警
实时监控报警非常重要,在数据出现异常时能够及时通知业务方快速定位问题。秒 X 平台提供指标聚合与明细检测两种监测方式,按配置的时间片进行定时调度,当拉取到的数据达到用户配置的阈值范围时,采用短信或邮件的方式提醒用户,便于及时发现和解决问题。
6. 可视化
基于已有的数据源,用户可以自助建立 OLAP 分析模型进行 OLAP 分析,选择图表格式、任意时间范围、维度与指标、自定义过滤条件进行可视化分析。可以将自助分析结果保存为报表,多个报表组合成一个仪表盘,供集中展示与分析。
7. 检索
明细检索可以为用户提供交互式 ES 查询。可模糊查询明细日志上下文。
8. 应用实例
安全部门实时数据监控
信息安全作为各大互联网公司关注的重要领域,对实时性要求极高。目前,贝壳找房安全部门使用秒 X 平台底层技术,对安全指标进行实时的监控。安全部门使用秒 X 平台的主要应用点有:
1>域名峰值统计
2>域名实时 ip 访问监控
3>域名访问量实时统计
域名访问量实时统计
kylin 查询时间监控报警
kylin 作为贝壳找房指标平台后端 OLAP 引擎,承载着统计分析、运营报表、指标查询等重要作用。kylin 引擎目前接入了秒 X 平台进行指标监控和异常报警。kylin 引擎在使用秒 X 平台的主要应用点有:
1>监控查询平均响应时间,并对超过 10s 的进行预警
2>各 ip 查询次数的实时统计
kylin 实时监控
kylin 异常报警配置
9. 总结
秒 X 实时分析平台已稳定上线运行一段时间,目前支撑了贝壳找房安全、直营等部门的实时数据分析、监控和报警需求。未来我们将持续优化和提升实时分析能力,简化配置,保证数据的实时准确。随着技术的不断发展,对大数据平台的要求越来越实时化和智能化,作为大数据架构部门,也将不断的探索更好的支撑业务需求的架构和系统,保障业务更好更快发展。
本文转载自公众号贝壳产品技术(ID:gh_9afeb423f390)。
原文链接:
https://mp.weixin.qq.com/s/DFF8YFknZzrOA1ulHdTcog
评论