美团实时计算平台
实践与应用
Outline
Background
Architecture
Features
Customers & Benefits
Lessons Learned
Q&A
Outline
Background
Architecture
Features
Customers & Benefits
Lessons Learned
Q&A
美团数据仓库
• 业务场景多:2500+指标数,600+分析师/运营/
数据RD;
• 业务变化快:40K 任务/天,500+ 报表,半年翻
倍;
• 数据量大:4P+总数据量,30T/天增量;
实时计算技术
• 以Kafka, Storm为代表的流式计算技术蓬勃发展,
解决了大数据处理的时效性问题;
Outline
Background
Architecture
Features
Customers & Benefits
Lessons Learned
Q&A
数据处理平台架构
实时计算平台架构
Outline
Background
Architecture
Features
Customers & Benefits
Lessons Learned
Q&A
开发者困惑
我想开发一个实时应用,除了写业务
逻辑外,我还要做什么?
拓扑框架
• 拓扑 = 应用逻辑 + 可配置框架
开发者困惑
准备开发前,我要怎样引入数据流?
程序中间状态存在哪?结果存在哪?
一体化解决方案
• 应用拓扑 = 流 + 计算框架 + State + 结果
一体化解决方案
• 应用拓扑 = 流 + 计算框架 + State + 结果
开发者困惑
准备开工啦!那我在哪开发?在哪测
试?
测试开发平台化
• Git整合、版本管理、开发测试,线上运维;
开发者困惑
我的拓扑终于上线啦!如何控制延迟?
如何监控我的拓扑状态?
延迟统计
• 日志流转全流程的延迟报告
延迟统计
• 日志流转全流程的延迟报告
定制化报警服务
• 用户自定义Metrics的报警服务
定制化报警服务
• 用户自定义Metrics的报警服务
开发者困惑
运行了一段时间,开始考虑:我的拓
扑和别人的拓扑会不会抢资源?
资源分组
• 按等级/部门对资源进行分组隔离
调度策略优化
• 机器独占、拓扑独占、拓扑共享
开发者困惑
是否有公共数据可以用?能否使用其
它拓扑产出的结果?如何管理数据?
拓扑依赖关系解析
• 清晰展示拓扑和数据之间的关系
功能特性
• 拓扑框架;
• 一体化的解决方案;
• 测试开发平台化;
• 延迟统计服务;
• 定制化报警服务;
• 资源分组和调度策略优化;
• 拓扑依赖关系解析;
Outline
Background
Architecture
Features
Customers & Benefits
Lessons Learned
Q&A
应用领域
• 风控
• 推荐
• 安全、反爬虫
• 机群指标统计报警
• 业务指标统计(新客,销售额等)
• …
• 100+个Topology;高峰期4GB/s,60万
record/s的实时数据;
收益
• 节省开发时间:5Days->Hours;2W->1W;
• 反爬虫:获得线性扩容能力;延迟从3小时降到十
几秒;在现有框架下增加新的封禁分析功能,几个小
时就完成从开发到上线观察效果;
• 安全:获得实时性,完成异常识别从3-4小时降到
30s内;
收益
• 推荐:准实时反馈,CTR和访购率提升5-10%;实时
的用户行为分析,推荐效果提升较大,点击下单提高
2%;
• 推荐效果展示:实时看到推荐策略的效果,查找
问题从2天缩短到当天,加快了算法迭代速度;
• 风控刷机项目:项目开发、测试、上线只用了不
到2周,节省了分布式数据流和分布式计算框架的开
发,只需要关注逻辑模块的开发,节省了70%的工作
量;
Outline
Background
Architecture
Features
Customers & Benefits
Lessons Learned
Q&A
经验教训
• 拥抱开源:受益于开源,跟进社区发展,积极回
馈社区;Storm管理系统尝试开源;
• 一体化解决方案:输入、输出、状态、监控报
警、延迟等,以开发者为中心;
• 贴近用户做产品:了解用户的痛点/需求,然后
做产品;
• 平台化和产品化:开放平台为目标,产品化思
路做平台;
Outline
Background
Architecture
Features
Customers & Benefits
Lessons Learned
Q&A