实时计算案例:菜鸟物流

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
简介: 如何保障其仓配实时数据的丝滑顺畅, 建立带有“仓配特色”的实时数据 版图是菜鸟物流当前亟待解决的关键问题。

挑战

菜鸟物流作为承接全国最大流量的快递运输平台之一, 在重大购物狂欢节日中扮演了重要角色。近年来, 尽管菜鸟 物流的仓配系统进行了多业务端的优化, 但仓配业务链路长、节点多、分析维度复杂的业务特点, 使其在开发仓配 实时数据的过程中仍面临了不少挑战。如何保障其仓配实时数据的丝滑顺畅, 建立带有“仓配特色”的实时数据 版图是菜鸟物流当前亟待解决的关键问题。

解决方案

实时数据的丝滑顺畅离不开各业务系统的密切配合, 为此菜鸟物流从全局设计上制定了一套端到端的整体解决方 案。在数据模型、数据服务、数据应用、数据保障等多方面进行了优化。其中,与实时数据息息相关的数据计算, 菜鸟物流选择了一站式、高性能实时大数据处理平台阿里云实时计算作为其主要的实时计算引擎。实时计算强大 的 SQL 功能, 提供 SQL 语义的流式数据分析能力(Flink SQL), 不仅支持两条数据流 join ,并且可以在一段代码 中实现多条数据流 join 操作;其子查询功能、视图功能、维表 join 功能等大幅降低了实时计算流数据分析的门 槛。实时计算强大的流计算性能,如 MiniBatch 优化、维表 cache&async、ignore delete、RocksDB 进行状态管 理以及可以灵活配置资源参数等,经过菜鸟物流的多次压测结果显示阿里云实时计算的数据处理速度远超预期。

另外,简单描述两个阿里云实时计算非常优秀的特性:高效的状态管理机制, 实时计算过程中(如 group-by、join 等)都会产生大量的 state , 传统的流计算引擎基本都是选择外部存储(如 HBase)作为 state 存储方案,实时计 算的选择是单机性能十分优异的 Gemini , 这个方案大大缩短了 IO latency , 从而获得倍数的性能提升。强大的 Retraction 机制, 数据库的同一记录不断变化,会往 TT 中流入多条消息, 如果依赖这个 TT 订阅直接进 行一些汇总操作, 可能得到的记录是不对的。举例, 一笔订单原计划配送公司是 A , 后来计划配送公司改为 B , 那么 直接针对配送公司进行汇总可能得到的结果是 A 和 B 各一笔。此时, 借助实时计算的 Retraction 机制即可处理类似 的“变 Key ”场景, 可以先使用 last 函数作特殊处理, 然后再做聚合, 这样能确保最终汇总数据的准确性。

业务优势

菜鸟物流从全局设计、数据模型、数据计算、数据服务、数据应用、数据保障等各方面进行业务系统的整体优化, 搭建了菜鸟物流的仓配实时链路体系, 完善了带有”仓配特色”的实时数据版图。在数据计算上, 2018 年双 11 期 间经过实时链路压测的检验实现了 100% 的数据可用性;在数据服务上,能够针对不同应用场景提供相应服务; 在数据保障上建设了仓配实时链路的主备方案、数据服务的主备双活方案以及多条实时链路压测“特色”方案。

客户评价

我们经过调研发现阿里云实时计算强大的 Flink SQL 以及强大的流计算性能对菜鸟物流极具吸引力, 简直是理 想的实时计算引擎。在实操中我们还用到了并发调优、MinBatch 调整、写 TT 使用 hashFields 保序、特殊场景写 ads ignore delete 等不少非常实用的开发和优化技能;当然,我们还挖掘出了实时计算非常惊艳的小功能, 如 First&Last、Retraction 机制、小而美的 nullValues 参数以及高效的状态管理机制等。

实时计算 Flink 版产品交流群

test

阿里云实时计算Flink - 解决方案:
https://developer.aliyun.com/article/765097
阿里云实时计算Flink - 场景案例:
https://ververica.cn/corporate-practice
阿里云实时计算Flink - 产品详情页:
https://www.aliyun.com/product/bigdata/product/sc

相关实践学习
基于Hologres轻松玩转一站式实时仓库
本场景介绍如何利用阿里云MaxCompute、实时计算Flink和交互式分析服务Hologres开发离线、实时数据融合分析的数据大屏应用。
Linux入门到精通
本套课程是从入门开始的Linux学习课程,适合初学者阅读。由浅入深案例丰富,通俗易懂。主要涉及基础的系统操作以及工作中常用的各种服务软件的应用、部署和优化。即使是零基础的学员,只要能够坚持把所有章节都学完,也一定会受益匪浅。
相关文章
|
3月前
|
分布式计算 监控 大数据
大数据-131 - Flink CEP 案例:检测交易活跃用户、超时未交付
大数据-131 - Flink CEP 案例:检测交易活跃用户、超时未交付
96 0
|
3月前
|
消息中间件 关系型数据库 MySQL
大数据-117 - Flink DataStream Sink 案例:写出到MySQL、写出到Kafka
大数据-117 - Flink DataStream Sink 案例:写出到MySQL、写出到Kafka
231 0
|
12天前
|
消息中间件 JSON 数据库
探索Flink动态CEP:杭州银行的实战案例
本文由杭州银行大数据工程师唐占峰、欧阳武林撰写,介绍Flink动态CEP的定义、应用场景、技术实现及使用方式。Flink动态CEP是基于Flink的复杂事件处理库,支持在不重启服务的情况下动态更新规则,适应快速变化的业务需求。文章详细阐述了其在反洗钱、反欺诈和实时营销等金融领域的应用,并展示了某金融机构的实际应用案例。通过动态CEP,用户可以实时调整规则,提高系统的灵活性和响应速度,降低维护成本。文中还提供了具体的代码示例和技术细节,帮助读者理解和使用Flink动态CEP。
302 2
探索Flink动态CEP:杭州银行的实战案例
|
18天前
|
数据处理 数据安全/隐私保护 流计算
Flink 三种时间窗口、窗口处理函数使用及案例
Flink 是处理无界数据流的强大工具,提供了丰富的窗口机制。本文介绍了三种时间窗口(滚动窗口、滑动窗口和会话窗口)及其使用方法,包括时间窗口的概念、窗口处理函数的使用和实际案例。通过这些机制,可以灵活地对数据流进行分析和计算,满足不同的业务需求。
123 27
|
3月前
|
SQL 大数据 API
大数据-132 - Flink SQL 基本介绍 与 HelloWorld案例
大数据-132 - Flink SQL 基本介绍 与 HelloWorld案例
64 0
|
3月前
|
SQL 消息中间件 分布式计算
大数据-130 - Flink CEP 详解 - CEP开发流程 与 案例实践:恶意登录检测实现
大数据-130 - Flink CEP 详解 - CEP开发流程 与 案例实践:恶意登录检测实现
78 0
|
3月前
|
消息中间件 NoSQL Kafka
大数据-116 - Flink DataStream Sink 原理、概念、常见Sink类型 配置与使用 附带案例1:消费Kafka写到Redis
大数据-116 - Flink DataStream Sink 原理、概念、常见Sink类型 配置与使用 附带案例1:消费Kafka写到Redis
212 0
|
分布式计算 Java API
Flink教程(04)- Flink入门案例
Flink教程(04)- Flink入门案例
183 0
|
8月前
|
传感器 存储 缓存
[尚硅谷flink学习笔记] 实战案例TopN 问题
这段内容是关于如何使用Apache Flink解决实时统计水位传感器数据中,在一定时间窗口内出现次数最多的水位问题,即"Top N"问题。首先,介绍了一个使用滑动窗口的简单实现,通过收集传感器数据,按照水位计数,然后排序并输出前两名。接着,提出了全窗口和优化方案,其中优化包括按键分区(按水位vc分组)、开窗操作(增量聚合计算count)和过程函数处理(聚合并排序输出Top N结果)。最后,给出了一个使用`KeyedProcessFunction`进行优化的示例代码,通过按键by窗口结束时间,确保每个窗口的所有数据到达后再进行处理,提高了效率。
198 1
|
8月前
|
NoSQL API MongoDB
实时计算 Flink版产品使用合集之断点续传的案例在哪里可以找到
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。

相关产品

  • 实时计算 Flink版