数据集成平台由执行器、调度器、设计器、管理页面组成,总体架构如图-1所示。
执行器是执行任务的实际容器,用于执行服务端发送的作业中的任务。作业在下发时可以指定一个执行器作为后期运行实例的容器,也可以不指定,由系统根据执行器打分自动分配执行器。
执行任务:可以多线程准时的执行调度器下发的的任务。
等待任务队列:当线程资源不足时,任务按下发顺序放入等待队列中。
监控数据收集:可以实时将任务执行状态和结果等数据上送,用于管理页面获取实时执行信息和数据。
失败重试:可以在任务失败并且设置了重试机制后,重试执行任务并记录相关告警和日志。
多类型任务支持:可以支持多种多样的任务类型。
执行器心跳:用于判断执行器状态是否正常,执行器各服务组件运行正常时,上送心跳和负载信息;否则,心跳和负载信息不上送,执行器异常。
执行器心跳告警:根据心跳时间差判断是否产生告警,当集群各节点时间不一致时,也能准确产生告警。
任务恢复:执行器异常后重启时,自动将之前未执行完成的任务强制置为失败,防止作业执行流程阻塞。
调度器用于接收服务端下发的作业,并将作业中的环节调度到具体的执行器中运行。作业在设计时可以为每个环节指定一个执行器作为后期运行实例的容器,也可以不指定,由调度器根据执行器打分自动分配执行器。调度器列表显示了当前已注册的调度器。
主备模式:安装部署采用主备模式。
故障检测:主备服务之间相关健康状态检测。
主备切换:备机检测主机异常时,切换到主机状态对外提供服务。
作业调度:实现对作业流的实时调度。
作业环节下发:下发作业环节(任务)到执行器上。
作业状态收集:收集作业环节的执行状态并实时更新作业的状态。
设计器是一个Web化、可拖拽、可流程性配置普通ETL任务的图形化设计器。设计器具备以下特性:
流程图式ETL设计:ETL过程的设计方式像画流程图一般,可以通过拖拉拽,轻松构建ETL过程。
步骤间的元数据流转:过程中的组件元数据自动传递。
可在线测试运行:设计初稿可以直接在线测试运行。
在线输出日志:可以输出运行日志。
支持大量定制组件:可以定制化开发ETL组件。
管理平台是DI中与用户交互最多的模块,具备的主要功能有:资源配置、任务管理、作业管理、标签管理、模板管理、审计信息、运行告警、可视化监控报表及系统管理等。