EngineConnManager架构

EngineConnManager(ECM):EngineConn的管理器,提供引擎的生命周期管理,同时向RM汇报负载信息和自身的健康状况。

EngineConnManager架构 - 图1

Linkis-engineconn-linux-launch

引擎启动器,核心类为LinuxProcessEngineConnLauch,用于提供执行命令的指令。

Linkis-engineconn-manager-core

ECM的核心模块,包含ECM健康上报、EngineConn健康上报功能的顶层接口,定义了ECM服务的相关指标,以及构造EngineConn进程的核心方法。

核心顶层接口/类核心功能
EngineConn定义了EngineConn的属性,包含的方法和参数
EngineConnLaunch定义了EngineConn的启动方法和停止方法
ECMEvent定义了ECM相关事件
ECMEventListener定义了ECM相关事件监听器
ECMEventListenerBus定义了ECM的监听器总线
ECMMetrics定义了ECM的指标信息
ECMHealthReport定义了ECM的健康上报信息
NodeHealthReport定义了节点的健康上报信息

Linkis-engineconn-manager-server

ECM的服务端,定义了ECM健康信息处理服务、ECM指标信息处理服务、ECM注册服务、EngineConn启动服务、EngineConn停止服务、EngineConn回调服务等顶层接口和实现类,主要用于ECM对自己和EngineConn的生命周期管理以及健康信息上报、发送心跳等。

模块中的核心Service和功能简介如下:

核心service核心功能
EngineConnLaunchService包含生成EngineConn和启动进程的核心方法
BmlResourceLocallizationService用于将BML的引擎相关资源下载并生成本地化文件目录
ECMHealthService向AM定时上报自身的健康心跳
ECMMetricsService向AM定时上报自身的指标状况
EngineConnKillSerivce提供停止引擎的相关功能
EngineConnListService提供缓存和管理引擎的相关功能
EngineConnCallBackService提供回调引擎的功能

ECM构建EngineConn启动流程:

EngineConnManager架构 - 图2