数据集成:针对离线集成任务超时的优化策略【Dataphin V3.11】

本文涉及的产品
数据传输服务 DTS,数据迁移 small 3个月
推荐场景:
MySQL数据库上云
数据传输服务 DTS,数据同步 small 3个月
推荐场景:
数据库上云
数据传输服务 DTS,数据同步 1个月
简介: 集成任务作为数据中台和外部数据库链接的数据桥梁,常常需要应对与处理复杂的外部数据库与网络环境。一旦外部的数据库出现异常,集成任务就会卡在某个状态:如一直在尝试与数据库连接,或者在数据库过载的时候还在一直在尝试执行SQL……这些异常状态都会导致集成任务无法长时间卡住,无法完成。

一、背景:

集成任务作为数据中台和外部数据库链接的数据桥梁,常常需要面对与处理复杂的外部数据库与网络环境。一旦外部的数据库出现异常,集成任务就会卡在某个状态:如一直在尝试与数据库连接,或者在数据库过载的时候还在一直在尝试执行SQL……这些异常状态都会导致集成任务无法完成。

集成任务如果长时间卡在某个异常状态,会一直处于运行状态,持续占用资源,会影响其他任务的调度运行。并且,没有及时的异常状态反馈,运维人员也无法及时感知任务出错采取修复措施,导致后续链路的任务也无法运行,可能造成重大影响。

难以及时感知异常并准确排查,且可能造成严重影响,这使得集成任务卡在异常状态成为了企业中运维人员的一大心事,针对该痛点,Dataphin在V3.11版本做了以下的优化,通过提供可配置的策略,旨在减少集成任务在异常情况下的无效等待时间,加快人员的感知与响应速度,提高集成任务的成功率。

二、优化策略:

1、数据源新增超时时长配置:

在V3.11中,Dataphin针对大多数的RDMBS类型数据库,在创建数据源配置中提供了connectTimeout和socketTimeout配置项(不同数据库的超时配置参数名称不完全相同)。

connectTimeout是指连接超时时间,是在客户端向服务端建立连接时使用的超时设置。当客户端向服务端发起连接请求时,如果在指定的时间内没有建立连接成功,则会抛出连接超时的异常。Dataphin将connectTimeout默认设置为15分钟,可根据实际情况自行调整。

socketTimeout是指数据传输超时时间,是在已经建立连接后进行数据传输时使用的超时设置。当客户端向服务端发送数据或接收数据时,如果在指定的时间内没有完成数据传输,则会抛出数据传输超时的异常。Dataphin将socketTimeout默认设置为30分钟,可根据实际情况自行调整。

该优化措施可以在任务长时间卡在连接阶段,或者是数据传输时间过长的异常状态下,及时置任务失败,反馈异常状态,减少集成任务的无效等待时长。

2、集成任务-通道配置优化

  • 将默认的数据库连接重试次数由7次改为1次,减少在数据库自身环境异常时,无效的重试连接时间。
  • 新增SQL执行超时时长,默认30分钟。该配置应用于任务中的目标库准备语句及结束语句SQL,如果其中任一语句超过该配置,则置任务失败。该配置可以防止用户写无意间了一条运行时间过久的SQL,导致集成任务运行时间过久。如果准备语句及结束语句SQL确实需要很久,可适当延长SQL执行超时时长。但需要注意的是,准备语句及结束语句SQL用于辅助数据同步使用,过于复杂的准备或结束语句SQL不建议在集成任务中配置。
  • 新增无流量时间阈值,默认30分钟。在数据库压力过大时,数据可能长时间无法抽取或写入,该配置项可以在无数据流量超过一定时长时,置任务失败,及时反馈这种异常情况。

三、总结:

针对集成任务在异常状态下卡住难以感知的痛点,Dataphin在V3.11上进行了一系列的优化措施,通过对于集成任务各阶段的超时控制,及时反馈异常状态,帮助运维人员及时感知并处理异常,减少集成任务的无效等待时长,及时释放资源,不阻碍其他任务的调度运行。

相关文章
|
21天前
|
数据采集 安全 数据管理
深度解析:DataHub的数据集成与管理策略
【10月更文挑战第23天】DataHub 是阿里云推出的一款数据集成与管理平台,旨在帮助企业高效地处理和管理多源异构数据。作为一名已经有一定 DataHub 使用经验的技术人员,我深知其在数据集成与管理方面的强大功能。本文将从个人的角度出发,深入探讨 DataHub 的核心技术、工作原理,以及如何实现多源异构数据的高效集成、数据清洗与转换、数据权限管理和安全控制措施。通过具体的案例分析,展示 DataHub 在解决复杂数据管理问题上的优势。
90 1
|
17天前
|
存储 Java 调度
Sppring集成Quartz简单案例详解 包括(添加、停止、恢复、删除任务、获取下次执行时间等)
Sppring集成Quartz简单案例详解 包括(添加、停止、恢复、删除任务、获取下次执行时间等)
19 2
|
1月前
|
存储 Java 开发工具
【三方服务集成】最新版 | 阿里云OSS对象存储服务使用教程(包含OSS工具类优化、自定义阿里云OSS服务starter)
阿里云OSS(Object Storage Service)是一种安全、可靠且成本低廉的云存储服务,支持海量数据存储。用户可通过网络轻松存储和访问各类文件,如文本、图片、音频和视频等。使用OSS后,项目中的文件上传业务无需在服务器本地磁盘存储文件,而是直接上传至OSS,由其管理和保障数据安全。此外,介绍了OSS服务的开通流程、Bucket创建、AccessKey配置及环境变量设置,并提供了Java SDK示例代码,帮助用户快速上手。最后,展示了如何通过自定义starter简化工具类集成,实现便捷的文件上传功能。
【三方服务集成】最新版 | 阿里云OSS对象存储服务使用教程(包含OSS工具类优化、自定义阿里云OSS服务starter)
|
1月前
|
jenkins Shell 持续交付
Jenkins持续集成GitLab项目 GitLab提交分支后触发Jenkis任务 持续集成 CI/CD 超级详细 超多图(二)
Jenkins持续集成GitLab项目 GitLab提交分支后触发Jenkis任务 持续集成 CI/CD 超级详细 超多图(二)
69 0
|
1月前
|
机器学习/深度学习 算法 前端开发
集成学习任务七和八、投票法与bagging学习
集成学习任务七和八、投票法与bagging学习
15 0
|
2月前
|
人工智能 自然语言处理 机器人
谷歌将大模型集成在实体机器人中,能看、听、说执行57种任务
【9月更文挑战第17天】近年来,人工智能在多模态大模型领域取得显著进展。谷歌最新研发的Mobility VLA系统,将大模型与实体机器人结合,实现了视觉、语言和行动的融合,使机器人能理解并执行复杂多模态指令,如“我应该把这个放回哪里?”系统在真实环境测试中表现出色,但在计算资源、数据需求及伦理问题上仍面临挑战。相关论文发布于https://arxiv.org/abs/2407.07775。
61 9
|
2月前
|
SQL 搜索推荐 数据管理
离线集成整库迁移再升级,定制化与灵活性全面增强
为了更好地满足客户对于数据库迁移过程中的个性化管理和操作需求,我们最新版本对“离线集成整库迁移”功能进行了更新,旨在解决客户在实际应用中遇到的痛点,进一步提升迁移任务的可管理性和便捷性。
|
1月前
|
jenkins Shell 持续交付
Jenkins持续集成GitLab项目 GitLab提交分支后触发Jenkis任务 持续集成 CI/CD 超级详细 超多图(一)
Jenkins持续集成GitLab项目 GitLab提交分支后触发Jenkis任务 持续集成 CI/CD 超级详细 超多图(一)
143 0
|
3月前
|
测试技术 Java
全面保障Struts 2应用质量:掌握单元测试与集成测试的关键策略
【8月更文挑战第31天】Struts 2 的测试策略结合了单元测试与集成测试。单元测试聚焦于单个组件(如 Action 类)的功能验证,常用 Mockito 模拟依赖项;集成测试则关注组件间的交互,利用 Cactus 等框架确保框架拦截器和 Action 映射等按预期工作。通过确保高测试覆盖率并定期更新测试用例,可以提升应用的整体稳定性和质量。
75 0
|
3月前
|
Java 数据库连接 数据库
强强联手!JSF 与 Hibernate 打造高效数据访问层,让你的应用如虎添翼,性能飙升!
【8月更文挑战第31天】本文通过具体示例详细介绍了如何在 JavaServer Faces (JSF) 应用程序中集成 Hibernate,实现数据访问层的最佳实践。首先,创建一个 JSF 项目并在 Eclipse 中配置支持 JSF 的服务器版本。接着,添加 JSF 和 Hibernate 依赖,并配置数据库连接池和 Hibernate 配置文件。然后,定义实体类 `User` 和 DAO 类 `UserDAO` 处理数据库操作。
60 0