实时计算在网约车领域的应用实践

实时计算在网约车领域的应用实践
展开查看详情

1.实时计算在网约车领域的应用实践 滴滴出行资深研发工程师 薛康

2.自我介绍 Ø 2012年 硕士毕业于浙江大学 Ø 2012年—2014年 百度大数据部,负责分布式查询服务 Ø 2014年—2016年 拓欣菁优, 负责爬虫、离线数据系统等 Ø 2016年至今 滴滴大数据架构部, 负责实时计算集群建设

3.大纲 Ø 滴滴实时计算概况 Ø 滴滴流计算体系建设 Ø 应用案例分享 Ø 未来规划

4.滴滴实时计算概况

5.滴滴实时计算概况 Ø 实时计算背景 Ø 海量的实时采集的日志、Binlog 等数据 Ø 海量的实时轨迹数据 Ø 核心业务是实时交易

6.滴滴实时计算概况 Ø 实时计算生态

7.滴滴流计算服务体系建设

8.滴滴流计算服务体系-独立集群 Ø 独立部署,避免离线任务干扰 Ø 和 Kafka/DDMQ 同机房部署,延时低 Ø 按照 YARN 队列分配资源和计费 Ø 通过 Router 实现跨机房部署 Ø 集群物理隔离,但逻辑视图统一 Ø 机房间断网影响提交,但不影响任务运行

9.滴滴流计算服务体系-资源隔离 Ø 核心业务独占机器(基于 NodeLabel 机制隔离) Ø 普通业务混用机器 (基于 CGroups 和 YARN 内置监控隔离)

10.滴滴流计算服务体系-资源调整机制 Ø 流计算任务资源配置常常不合理 Ø 运行前往往不知道合理的资源值 Ø 流计算任务不能轻易重启 Ø 弹性资源控制 Ø 基于 CGroups 实现,允许运行中的任务 vcore 数适当扩张和缩减 Ø 通过监控给出实际使用值和推荐配置 Ø 在任务重启时提醒用户使用推荐配置

11.滴滴流计算服务体系-引擎产品(1/2) Ø StreamSQL Ø 在 Flink SQL 基础上增加 DDL,支持多种connector Ø 极大降低开发成本

12.滴滴流计算服务体系-引擎产品(2/2) Ø DiDi CEP(Complex Event Processing) Ø 跨事件匹配能力 Ø 规则语义丰富 Ø 支持单任务多规则和规则的动态修改 Ø 性能比社区版有数量级的提升 Ø Failover 机制,保证数据一致性

13.滴滴流计算服务体系-一站式管理平台(1/3) Ø 通过网页提交及管理任务

14.滴滴流计算服务体系-一站式管理平台(2/3) Ø 支持 Stream SQL 开发

15.滴滴流计算服务体系-一站式管理平台(3/3) Ø 任务级监控大盘 Ø 任务健康状况(吞吐、延迟、资源利用率) Ø 业务自定义指标

16.应用案例分享

17.应用案例-业务实时报表 Ø 通过 Spark Streaming 清洗后的数据进入 Druid Ø 80% 查询逻辑通过 Druid SQL描述 Ø 通过 Druid DSL 描述更复杂的计算逻辑,比如分位数、直方图

18.应用案例-业务实时监控 Ø 在流计算中进行复杂的计算逻辑 Ø 外部实时更新规则 Ø 应用于网关日志监控、过车指标监控

19.应用案例-异常检测 Ø 基于机器学习模型 Ø 传统方式指标过多难以配置报警 Ø 固定阈值报警不准确 Ø 模型离线训练,实时更新

20.应用案例-乘客位置语义推送 Ø 订单流和乘客轨迹流实时 join Ø 乘客位置变化推送到司机端 Ø 减少沟通成本,提升接驾体验

21.应用案例-个性化营销 Ø 基于 DiDi-CEP,定义事件规则,触发营销策略 Ø 某城市乘客冒泡后30秒没有下单 Ø 某城市下单后一分钟没人接单 Ø 数千个规则

22.应用案例-风险控制 Ø 检测一段时间内完单数超过一定数量的司机和乘客 Ø 基于带有生命周期的状态实现

23.应用案例-交通热力图展示 Ø 利用 GeoMesa 生成多份时空数据索引存入 HBase Ø 利用 GeoHash 地理时空索引算法构建时空索引写入 HBase Ø 支持时空数据范围查询 Ø 方便行车轨迹查询以及热力图展示

24.未来规划

25.未来规划 Ø 技术规划 Ø Stream SQL 成为主流开发语言 Ø 更丰富的算子与 connector Ø 支持 CEP 的 SQL 表达 Ø 流计算单元标准化

26.未来规划 Ø 业务规划 Ø 实时机器学习 Ø 用户特征实时更新 Ø 训练模型实时更新 Ø IoT & 边缘计算 Ø 流计算嵌入车载设备

27.THANK YOU 北京嘀嘀无限科技发展有限公司 北京市海淀区东北旺路8号院尚东·数字山谷B1号楼