社区与开源,正在成为影响全球技术的一股重要力量。在越来越注重开发者感受的国内互联网领域,开源正在变得越来越流行。毕竟当企业越做越大,成为该领域的领军者之后,要考虑的就是如何引领行业的发展。开源,无疑是彰显企业自身技术实力的最佳途径之一。因此甚至在一定程度上,可以从开源的项目数量上来看出一家互联网科技企业的技术实力。像 Google、Facebook、微软、腾讯、阿里等互联网科技巨头,在全球技术开源社区上一直保持着高度活跃,更是体现了他们的全球影响力。
之前,InfoQ 曾统计了下国内各大互联网公司在 GitHub 上的项目数量,不难看出,国内互联网科技企业在 GitHub 上还是十分活跃的。
这股开源风气,尤其在国内开发者身上表现得非常明显,根据 GitHub 的全球用户分析,中国现已成为仅次于美国的第二大用户来源。
并且,国内有着互联网产品得天独厚的外部条件。数亿级月活、PB 级数据体量、日均数万个任务调度需求等,这些都是在数据体量极大的国内移动互联网市场才能见到的场景。实现这一切的核心,是大数据中台中的核心基础设施 - 数据任务调度系统。然而当前市面上,却没有能够充分满足和匹配国内数据应用需求的一款数据调度工具。按照常理来说,核心的东西,保持越简单越好,但是现实情况确是,在实践过程中数据处理流程往往都存在很长的依赖链条,导致数据 ETL 工作开发流程的效率低下。
以 Azkaban 和 Airflow 为例,Linkedin 所开源的批量工作流任务调度器 Azkaban,其很好解决了过于依赖 Hadoop 进行作业的问题,并且具备很高的易用性。但是其作为一个通用编排引擎,不具备丰富的功能,在工作流进行过程中也无法暂停和恢复,并且在集群化中的部署流程十分繁琐,且可扩展性也不高,限制了其进一步发展。
另外一个应用也比较广泛的调度系统是 Airflow,其存在着任务太多会卡死、缺少系统过载保护、没有便于配置的可视化界面等问题,这在一定程度上增加了系统扩展复杂性。另外其实时性能会随着并发数的增加而降低,对于并发性能要求很高且对实时性要求较高的国内企业来说,这点比较难以接受。
因此国人需要一款能够从数据处理痛点出发,能够匹配国内大数据体量和落地应用现状的一款开源的数据任务调度框架。在开源逐渐成为国内的一种潮流与文化后,对于国内的开发者来说,一方面他们会贡献代码、架构,将开源项目进行“本土化”后进而进行迭代和开放,另一方面部分企业也会将开源的模块进行商业化以聚焦更多的需求,或将其项目捐赠给国际顶级的开源软件基金会。易观,就属于后者。
今年的 8 月 29 日,紧跟着 Kylin 的步伐,易观 DolphinScheduler 正式通过顶级开源组织 Apache 基金会的投票决议,以全票通过的优秀表现正式成为 Apache 孵化器项目。
DolphinScheduler,简称”DS”, 中文名 “小海豚调度”(海豚聪明、人性化,有左右脑可互相换班,终生不用睡觉)。希望 DolphinScheduler 就像它的名字一样,成为一个“开箱即用”的灵活易用的调度系统。
之前,InfoQ 报道了首个由国人主导的 Apache 顶级开源项目 Kylin 的开源历程,这为国内大型顶级的项目开源开辟了先河。之所以 Kylin 的开源项目能够如此成功,Kyligence 创始人 Luke 在接受 InfoQ 专访时曾提到,我们连中国这种“地狱级”的数据体量都能搞定,国外的那些根本不在话下。
DolphinScheduler 也是如此,作为一个分布式易扩展的可视化 DAG 工作流任务调度系统,致力于解决数据处理流程中错综复杂的依赖关系。
早在 2018 年 5 月,DolphinScheduler 就已经在易观内部的千帆产品线上得到了使用。随后其耗费 2 个多月的时间来对框架内部的架构进行重构升级,并决定正式开源。今年 8 月份,正式推出了 1.1.0 新版本,其实现了包括去 Hadoop 依赖、Kerberos 安全支持、资源分目录、微信告警等重要功能。在加入孵化器后,也即将发布进入 apache 孵化器后的第一个 apache 版本,功能更丰富。
DolphinScheduler 整体架构
DolphinScheduler 是从数据处理的痛点出发,因此其解决的问题以及优化的方向都与上述我们提到的调度系统有所不同,主要有以下 5 点:
可视化流程设计减轻了开发者配置工作流的复杂度,从繁琐的基础配置中解放出来,不用再靠编程来配置流程,提升开发效率;
扩展性强,在当下这样一个业务变化快、技术迭代频繁的现在,丰富的任务类型、跨语言和自定义插件机制良好的可扩展性,无疑使这款框架具备了更长的寿命和更广泛的落地场景;
支持工作流定时调度、依赖调度、手动调度、手动暂停 / 停止 / 恢复,同时支持失败重试 / 告警、从指定节点恢复失败、Kill 任务等操作
支持集群 HA,通过 Zookeeper 实现 Master 集群和 Worker 集群的天然去中心化架构设计,使得系统的高可用性得到保证;
通过拖拽以 DAG 图的方式将 Task 按照任务的依赖关系关联起来,可实时可视化监控任务的运行状态,完善的服务监控系统,方便运维人员快速进行问题定位。
目前,中国平安、美团、嘀嗒出行、多点互动等多家企业都已经将 Apache DolphinScheduler 应用到了实际场景中。
当然,国内互联网市场不只那些拥有很大数据量和亿级用户的产品,大多数的互联网产品的用户数与日数据调用次数都没有那么夸张。但是他们也需要需要快速获客、促活及转化,因此就需要对数据进行有价值的分析。
易观方舟 Argo 就是这样一款面向数据体量较小的技术团队,作为国内首款支持私有化且免费的用户分析和数据精益运营产品,能够帮助其实现灵活自定义用户行为分析,精准的用户分群以及用户触达,做到投入更少的研发资源、时间、和维护成本,快速搭建起一套符合自己需要的数据只能平台,进而提高研发和运营效率。
其主要具备以下 5 点特性:
目前已有 100 多家初创企业与 600 多个社群用户成为 Argo 用户。
当然易观所做的不只是如此,作为行业的领军者,在实现技术开源后,更要从理念和认知上普及数据对于业务的价值所在。技术大会,无疑是对开发者发声的最佳渠道。
因此,为了让数据能力被更多的开发者所认识到,为了更加普及数据的价值。易观在面向社区做出了技术开源与降低门槛的举措后,本着践行让数据能力平民化的核心使命,10 月 24-26 日,易观将在上海正式举办【易观 A10 数据智能生态大会】。
关于大会:易观 A10 大会(Analysys 10)作为中国互联网领域最具影响力的交流分享平台之一,由中国领先的数据智能产品和平台提供商易观于 2010 年创办。截止目前,大会已历经九届,汇聚全球范围内的行业先锋与专家大咖,分享最佳实践经验与商业发展趋势,并展现融合多元技术与商业洞见的数据生态。
当下国内如此繁荣的开源盛况,离不开每一位对社区做出贡献的开发者。因此,为了感谢开发者对于开源的贡献,易观携手 InfoQ 为大家送上大会福利!现在 扫描下方二维码 或 点击阅读原文 填写表单,即可获取 InfoQ 为社区开发者提供的大会购票专属优惠码。
10 月 25 日,2019 易观 A10 数据智能生态大会【开源与生态——开发者专场】,期待各位的到来!