美团点评基于Storm的实时数据处理实践
背景
目前美团点评已累计了丰富的线上交易与用户行为数据,为商家赋能需要我们有更强大的专业化数据加工能力,来帮助商家做出正确的决策从而提高用户体验。目前商家端产品在数据应用上主要基于离线数据加工,数据生产调度以“T+1”为主,伴随着越来越深入的精细化运营,实时数据应用诉求逾加强烈。本文将从目前主流实时数据处理引擎的特点和我们面临的问题出发,简单的介绍一下我们是如何搭建实时数据处理系统。
设计框架
目前比较流行的实时处理引擎有 Storm,Spark Streaming,Flink。每个引擎都有各自的特点和应用场景。 下表是对这三个引擎的简单对比:
考虑到每个引擎的特点、商家端应用的特点和系统的高可用性,我们最终选择了 Storm 作为本系统的实时处理引擎。
面临的问题
- 数据量的不稳定性,导致对机器需求的不确定性。用户的行为数据会受到时间的影响,比如半夜时刻和用餐高峰时段每分钟产生的数据量有两个数量级的差异。
- 上游数据质量的不确定性。
- 数据计算时,数据的落地点应该放到哪里来保证计算的高效性。
- 如何保证数据在多线程处理时数据计算的正确性。
- 计算好的数据以什么样的方式提供给应用方。
具体的实施方案
实时摄入数据完整性保障
数据完整性保证层:如何保证数据摄入到计算引擎的完整性呢?正如表格中比较的那样,Storm 框架的语义为 At Least Once,至少摄入一次。这个语义的存在正好保证了数据的完整性,所以只需要根据自己的需求编写 Spout 即可。好消息是我们的技术团队已经开发好了一个满足大多数需求的 Spout,可以直接拿来使用。特别需要注意的一点,在数据处理的过程中需要我们自己来剔除已经处理过的数据,因为 Storm 的语义会可能导致同一条数据摄入两次。灰度发布期间(一周)对数据完整性进行验证,数据完整性为100%。
实时数据平滑处理
数据预测层:实时的数据预测可以帮助我们对到达的数据进行有效的平滑,从而可以减少在某一时刻对集群的压力。 在数据预测方面,我们采用了在数学上比较简单的多元线性回归模型(如果此模型不满足业务需求,可以选用一些更高级别的预测模型),预测下一分钟可能到来的数据的量。在数据延迟可接受的范围内,对数据进行平滑,并完成对数据的计算。通过对该方案的使用,减轻了对集群约33%的压力。具体步骤如下:
- 步骤一:将多个业务的实时数据进行抽象化,转换为(Y_i,X_1
美团点评基于Storm的实时数据处理实践相关推荐
- 基于 MaxCompute 的实时数据处理实践
简介: MaxCompute 通过流式数据高性能写入和秒级别查询能力(查询加速),提供EB级云原生数仓近实时分析能力:高效的实现对变化中的数据进行快速分析及决策辅助.当前Demo基于近实时交互式BI分 ...
- [转]基于Storm的实时数据处理方案
1 文档说明 该文档描述的是以storm为主体的实时处理架构,该架构包括了数据收集部分,实时处理部分,及数据落地部分. 关于不同部分的技术选型与业务需求及个人对相关技术的熟悉度有关,会一一进行分析. ...
- 美团点评基于 Flink 的实时数仓平台实践
摘要:数据仓库的建设是"数据智能"必不可少的一环,也是大规模数据应用中必然面临的挑战,而 Flink 实时数仓在数据链路中扮演着极为重要的角色.本文中,美团点评高级技术专家鲁昊为大 ...
- 美团点评基于MGR的CMDB高可用架构搭建之路【转】
王志朋 美团点评DBA 曾在京东金融担任DBA,目前就职于美团点评,主要负责金融业务线数据库及基础组件数据库的运维. MySQL Group Replication(以下简称MGR),于5.7.17版 ...
- Flink实时数据处理实践经验(Flink去重、维表关联、定时器、双流join)
Flink实时数据处理实践经验 文章目录 Flink实时数据处理实践经验 1. 数据输入与预处理 2. 实时数据处理 3. 实时数仓架构 4. 优化方案 Java.大数据开发学习要点(持续更新中-) ...
- 美团点评基于 Flink 的实时数仓建设实践
来自:美团技术团队 引言 近些年,企业对数据服务实时化服务需求日益增多.本文整理了常见实时数据组件的性能特点和适用场景,介绍了美团如何通过 Flink 引擎构建实时数据仓库,从而提供高效.稳健的实时数 ...
- 携程基于Storm的实时大数据平台实践
来源:http://mp.weixin.qq.com/s?__biz=MzI4OTU3ODk3NQ==&mid=2247483881&idx=1&sn=04971941bf57 ...
- 美团点评基于MGR的CMDB高可用架构搭建之路
来自:DBAplus社群 本文根据王志朋老师在dbaplus社群[2018年8月4日北京数据架构与数据优化技术沙龙]现场演讲内容整理而成. 讲师介绍 王志朋 美团点评DBA 曾在京东金融担任DBA,目 ...
- 钱大妈基于 Flink 的实时风控实践
摘要:本文作者彭明德,介绍了钱大妈与阿里云 Flink 实时计算团队共建实时风控规则引擎,精确识别羊毛党以防营销预算流失.主要内容包括: 项目背景 业务架构 未规则模型 难点攻坚 回顾展望 点击进入 ...
最新文章
- 10大排序算法JAVA源码实现
- POJ1185:火炮(减少国家)
- 中使用mysql连接失败_如何在命令行下使用 MySQL 连接数据库不用每次都输入密码?...
- mysql中date转sqlserver_MySQL和SQLServer互转
- Hadoop HBase概念学习系列之HRegion服务器(三)
- MySQL完整备份,还原
- 设计模式--策略(Strategy)模式
- .13-Vue源码之patch(3)(终于完事)
- SQL Server 影响dbcc checkdb的 8 种因素
- 上海电子信息职业技术学院计算机网络技术,上海电子信息职业技术学院计算机网络技术专业...
- 循环数组中找查找某个数值
- 用 pre-commit hook 解决 Python 项目编码规范
- 深入理解java虚拟机章节_深入理解java虚拟机-第六章
- ZipArchive实现中文压缩
- 怎么把ipad中超大文件传输到电脑
- 基于hutool实现简单的加解密
- 产品经理的自我修养—认知模式
- OCCT示例学习笔记3--Modeling项目
- 前端3D地球的实现方式
- vue结合Waterfall做图片瀑布流展示
热门文章
- thinkpad s3 安装win8 kali双系统笔记
- WCF分布式开发步步为赢系列
- jquery ajax 异步分页,jquery 分页 Ajax异步
- html5 网络断开,html5 – websocket不断断开连接
- MySQL函数笔记_MySQL笔记之数学函数详解
- lol最克制诺手的英雄_LOL:哪些英雄之间非常克制,不管怎么打,遇到就输了?...
- php 公众号验证回调方法_微信公众号关键词自动回复设置方法!
- Vue中富文本编辑器的使用
- 指令系统——数据寻址(3)——堆栈寻址(详解)
- python web开发 CSS基础
- 基于 MaxCompute 的实时数据处理实践