奇富科技引领大数据调度革命:高效、稳定、实时诊断
日前,在世界最大的开源基金会 Apache旗下最为活跃的项目之一DolphinScheduler组织的分享活动上,奇富科技的数据平台专家刘坤元应邀为国内外技术工作者献上一场题为《Apache DolphinScheduler在奇富科技的优化实践》的精彩分享,为大数据任务调度系统的未来探索出一条新的道路。
刘坤元以一个数仓(数据仓库的简称,指用于存储、分析、报告的数据系统)同学熟知的起夜率指标开启了本次分享。
在建设大数据平台时,企业通常会面临数据生产的稳定性问题,数仓同学在值班期间需要处理各种告警和任务。工作通常从凌晨0:30开始,收到首条告警后起床,不断接到更多电话告警,不得不跑到客厅办公。由于对上下游任务逻辑不太清楚,2:00左右召集其他同学一起处理问题。凌晨3:00时,惊动老板起夜,电话沟通处理方案。5:00,所有任务处理完成后,等待计算数据。7:00睡眼朦胧地起床上班。9:00刚到公司楼下,就被业务人员在工作群里“+1”“+1”“+10086”地催问数据产出时间,手忙脚乱中开始一天的工作。
“可以说,天下数仓同学苦起夜值班久矣!好消息是,在奇富科技内部,由于引入了Apache DolphinScheduler,起夜率这个核心指标有了83%的下降。”刘坤元说。
谈到Apache DolphinScheduler的引入,刘坤元回顾了奇富科技数据平台工作原本面临的挑战。
由于奇富科技是一家金融科技公司,业务需要保证高可用,所以,奇富科技的调度平台是异地双机房架构,核心工作流会异地双机房运行。这会带来三点困难。
首先,调度任务量大。目前每天调度的工作流实例在3万多,任务实例在14万多。每天调度的任务量非常庞大。每天保障这么多任务实例稳定、无延迟运行,是一个非常大的挑战。
其次,运维复杂。因为每天调度的任务实例非常多,经历了几次调度机器扩容阶段。目前2个调度集群有6台Master、34台Worker机器。而且调度机器处于异地2个城市,增加了很多管理运维复杂性。
第三,SLA要求高。因为要支持的业务带有金融属性,如果调度服务稳定性出问题,导致任务重复调度、漏调度或者异常,损失会非常大。
针对以上三个问题,奇富科技在2022年中着手引入了Apache DolphinScheduler,围绕调度服务稳定,做了两个方向的优化。第一,调度服务稳定性优化。第二、调度服务监控。细节请见《Apache DolphinScheduler 在奇富科技的首个调度异地部署实践》https://mp.weixin.qq.com/s/hAp7IQPWbhaaVuRsW7LtGg
改造之后的效果,刘坤元也给出了几个具体表现:
以前1周到半个月才能完成的数据需求任务,现在3个小时就可以交付;
每天把不同数据源新增200-300T的数据,转化为10000张以上的各类报表,三五个同学就游刃有余;
新增诊断功能后,无需人工干预,系统自动生成诊断报告;
……
在分享活动中,奇富科技性能更稳定、规模更大、功能也更加丰富的数据系统,也引起了金融机构的关注与兴趣。DolphinScheduler提出建议,可以将这一系统产品化并推向市场。
一方面,产品化令金融机构能直接受益于奇富科技的经验,提高数据生产的稳定性,实现更高效的数据处理。金融机构通常面临的如调度任务量大、运维复杂等问题将迎刃而解。
另一方面,奇富科技的经验也将为其他行业提供有价值的启示。数据调度是许多行业都需要面对的问题,因此奇富科技的解决方案不仅局限于金融领域。这有望在各个行业中推动更多创新和效率提升。
活动最后,DolphinScheduler对奇富科技的创新精神和分享精神给予了极高的赞赏:奇富科技的经验分享不仅促进了技术进步,还鼓励了更多公司积极参与开源社区,从中获益,推动了整个金融科技领域向前发展。
相关文章:

奇富科技引领大数据调度革命:高效、稳定、实时诊断
日前,在世界最大的开源基金会 Apache旗下最为活跃的项目之一DolphinScheduler组织的分享活动上,奇富科技的数据平台专家刘坤元应邀为国内外技术工作者献上一场题为《Apache DolphinScheduler在奇富科技的优化实践》的精彩分享,为大数据任务调…...
9.Python3-注释
题记 python3注释 单行注释 # 这是一个注释 print("Hello, World!") 多行注释 单引号 #!/usr/bin/python3 这是多行注释,用三个单引号 这是多行注释,用三个单引号 这是多行注释,用三个单引号print("Hello, World!"…...

内衣洗衣机和手洗哪个干净?好用的内衣洗衣机测评
最近一段时间,关于内衣到底是机洗好,还是手洗好这个话题,有很多人都在讨论,坚决的手洗党觉得应该用手来清洗,机洗与其它衣物混合使用,会产生交叉感染,而且随着使用时间的推移,会变得…...
【MySQL系列】- MySQL日志详解
【MySQL系列】- MySQL日志详解 文章目录 【MySQL系列】- MySQL日志详解一、My日志分类二、重做日志(redo log)redo 日志格式简单日志格式复杂的 redo 日志格式 三、回滚日志(undo log)undo log的作用undo log数据结构 四、二进制日…...

Batch Normalization
文章目录 一,Norimalize(归一化)的想法:二,为什么要做归一化?三,问题来了,如果标准正态分布约束过于严格了怎么办?四,注意:Test-Time五,Batch Nor…...

计算机网络-IP地址
文章目录 子网划分定长子网划分子网划分的方法子网掩码 可变长子网划分 无类别编址网络前缀路由聚合 特殊用途的IP地址专用网络地址链路本地地址运营商级NAT共享地址用于文档的测试网络地址 IP地址的规划和分配IP地址的规划和分配方法IP地址的规划和分配实例 子网划分 定长子网…...

HCIE怎么系统性学习?这份HCIE学习路线帮你解决
华为认证体系覆盖ICT行业十一个技术领域共十三个技术方向的认证,今天我们分享的是其中最热门的数据通信方向的HCIE学习路线。 HCIE是华为认证体系中最高级别的ICT技术认证 ,旨在打造高含金量的专家级认证,为技术融合背景下的ICT产业提供新的能…...

香港服务器运行不正常原因简析
网站在线业务的部署需要服务器的存在。于我们而言,租用正规服务商(正规机房)的服务器,一般情况下是会很少出现问题。但,要知道,再稳定的服务器也有出现问题的时候,香港服务器也不例外,而且恰恰这个原…...

ActiveMQ
ActiveMQ 安装 下载网址:ActiveMQ 一定要和自己安装的jdk版本匹配,不然会报错 下载到本地之后解压缩 有可能端口号被占用 解除端口号占用,参考:Windows_端口被占用 打开cmd 查询所有的端口号 netstat -nao查询指定端口号 n…...

navicat15 恢复试用方法
1.运行,输入regedit,打开注册表 2.注册表中搜索 HKEY_CURRENT_USER\Software\PremiumSoft\NavicatPremium,删除下面的Registration15XCS文件夹 3.注册表中再搜索 HKEY_CURRENT_USER\Software\Classes\CLSID 然后拉到文件夹目录的最后&#x…...

【idea】生成banner.txt
Spring Boot banner在线生成工具,制作下载英文banner.txt,修改替换banner.txt文字实现自定义,个性化启动banner-bootschool.netSpring Boot banner工具实现在线生成banner,轻松修改替换实现自定义banner,让banner.txt文…...
数据缺失值的4种处理方法
一、缺失值产生的原因 缺失值的产生的原因多种多样,主要分为机械原因和人为原因。机械原因是由于机械原因导致的数据收集或保存的失败造成的数据缺失,比如数据存储的失败,存储器损坏,机械故障导致某段时间数据未能收集(…...
如何将普通队列异常消息路由到死信队列
如何将普通队列异常消息路由到死信队列 在RabbitMQ中,我们经常需要处理异常消息,特别是当消息处理失败时。一个常见的用例是将异常消息路由到死信队列,以便稍后重新处理或进一步分析。在本篇博客中,我们将演示如何配置RabbitMQ和…...

MATLAB中perceptron函数用法
目录 语法 说明 示例 使用感知器求解简单分类问题 perceptron函数的功能是简单的单层二类分类器。 语法 perceptron(hardlimitTF,perceptronLF) 说明 注意 Deep Learning Toolbox™ 支持早期形式的感知器。为了获得更好的结果,您应改用 patternnet࿰…...
使用Python进行数据科学
数据科学是一门涉及收集、清洗、处理和分析数据的学科,而Python是一种强大的编程语言,广泛应用于数据科学领域。本文将介绍如何使用Python进行数据处理和分析的基本技术和工具。 一、数据收集 在进行数据分析之前,首先需要收集数据。Python…...
Go语言在硬件开发领域的应用
引言 Go语言是一种快速、简洁且高效的编程语言,由Google开发并于2009年发布。虽然Go语言在Web开发和后端服务方面广受欢迎,但其在硬件开发领域的应用也日益增多。本文将探讨Go语言在硬件开发中的优势和应用案例,并分析其对硬件开发的影响。 …...

小程序如何设置首选配送公司
小程序的一个重要环节就是配送服务。为了提供更好的发货体验,避免商家总是要在众多的配送公司中选择想要,小程序支持设置首选配送。下面将具体介绍一下小程序如何设置。 在小程序管理员后台->配送设置->首选配送处,指定需要设置的首选…...

聚观早报 |2024款飞凡R7官宣;小米14新配色材质
【聚观365】10月27日消息 2024款飞凡R7官宣 小米14新配色材质 金山办公2023第三季度业绩 IBM2023第三季度业绩 新东方2024财年第一季度业绩 2024款飞凡R7官宣 飞凡汽车官宣,2024款飞凡R7将于11月上市,新车将搭载飞凡巴赫座舱,同时超过1…...
【kubernetes】Debian使用Kubeadm部署Kubernetes失败:Connection Refused
这篇文章也可以在我的博客中查看 今天废话不多说直接解决一个阴间问题 问题 在部署kubernetes后(执行完kubeadm init后),执行任何kubectl命令,都会报以下错误: The connection to the server xxx.xxx.xxx.xxx:6443…...

Wpf 使用 Prism 实战开发Day02
一.设计首页导航条 导航条的样式,主要是从Material DesignThemes UI 拷贝过来修改的,项目用了这个UI组件库,就看自己需要什么,就去拷过来使用,界面布局或其他组件使用,不做介绍。 直接下载源码,编译运行就可…...

【Axure高保真原型】引导弹窗
今天和大家中分享引导弹窗的原型模板,载入页面后,会显示引导弹窗,适用于引导用户使用页面,点击完成后,会显示下一个引导弹窗,直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…...
SkyWalking 10.2.0 SWCK 配置过程
SkyWalking 10.2.0 & SWCK 配置过程 skywalking oap-server & ui 使用Docker安装在K8S集群以外,K8S集群中的微服务使用initContainer按命名空间将skywalking-java-agent注入到业务容器中。 SWCK有整套的解决方案,全安装在K8S群集中。 具体可参…...
《Playwright:微软的自动化测试工具详解》
Playwright 简介:声明内容来自网络,将内容拼接整理出来的文档 Playwright 是微软开发的自动化测试工具,支持 Chrome、Firefox、Safari 等主流浏览器,提供多语言 API(Python、JavaScript、Java、.NET)。它的特点包括&a…...

高频面试之3Zookeeper
高频面试之3Zookeeper 文章目录 高频面试之3Zookeeper3.1 常用命令3.2 选举机制3.3 Zookeeper符合法则中哪两个?3.4 Zookeeper脑裂3.5 Zookeeper用来干嘛了 3.1 常用命令 ls、get、create、delete、deleteall3.2 选举机制 半数机制(过半机制࿰…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院挂号小程序
一、开发准备 环境搭建: 安装DevEco Studio 3.0或更高版本配置HarmonyOS SDK申请开发者账号 项目创建: File > New > Create Project > Application (选择"Empty Ability") 二、核心功能实现 1. 医院科室展示 /…...

听写流程自动化实践,轻量级教育辅助
随着智能教育工具的发展,越来越多的传统学习方式正在被数字化、自动化所优化。听写作为语文、英语等学科中重要的基础训练形式,也迎来了更高效的解决方案。 这是一款轻量但功能强大的听写辅助工具。它是基于本地词库与可选在线语音引擎构建,…...
安卓基础(aar)
重新设置java21的环境,临时设置 $env:JAVA_HOME "D:\Android Studio\jbr" 查看当前环境变量 JAVA_HOME 的值 echo $env:JAVA_HOME 构建ARR文件 ./gradlew :private-lib:assembleRelease 目录是这样的: MyApp/ ├── app/ …...
iOS性能调优实战:借助克魔(KeyMob)与常用工具深度洞察App瓶颈
在日常iOS开发过程中,性能问题往往是最令人头疼的一类Bug。尤其是在App上线前的压测阶段或是处理用户反馈的高发期,开发者往往需要面对卡顿、崩溃、能耗异常、日志混乱等一系列问题。这些问题表面上看似偶发,但背后往往隐藏着系统资源调度不当…...
LangChain知识库管理后端接口:数据库操作详解—— 构建本地知识库系统的基础《二》
这段 Python 代码是一个完整的 知识库数据库操作模块,用于对本地知识库系统中的知识库进行增删改查(CRUD)操作。它基于 SQLAlchemy ORM 框架 和一个自定义的装饰器 with_session 实现数据库会话管理。 📘 一、整体功能概述 该模块…...

C/C++ 中附加包含目录、附加库目录与附加依赖项详解
在 C/C 编程的编译和链接过程中,附加包含目录、附加库目录和附加依赖项是三个至关重要的设置,它们相互配合,确保程序能够正确引用外部资源并顺利构建。虽然在学习过程中,这些概念容易让人混淆,但深入理解它们的作用和联…...