EngineConn架构设计

EngineConn:引擎连接器,为其他微服务模块提供统一配置管理、上下文服务、物料库、数据源管理、微服务管理和历史任务查询等功能的模块。

一、EngineConn架构图

EngineConn

二级模块介绍:

提供交互式计算任务的能力。

核心类核心功能
EngineConnTask定义了提交给EngineConn的交互式计算任务
ComputationExecutor定义了交互式Executor,具备状态查询、任务kill等交互式能力。
TaskExecutionService提供对交互式计算任务的管理功能
  1. 定义了引擎连接器中最基础的实体类和接口。EngineConn是用于创建一个底层计算存储引擎的连接会话Session,包含引擎与具体集群的会话信息,是与具体引擎通信的client。
核心Service核心功能
EngineCreationContext包含了EngineConn在启动期间的上下文信息
EngineConn包含了EngineConn的具体信息,如类型、与层计算存储引擎的具体连接信息等
EngineExecution提供Executor的创建逻辑
EngineConnHook定义引擎启动各个阶段前后的操作

定义了EngineConn的核心逻辑涉及的接口。

核心类核心功能
EngineConnManager提供创建、获取EngineConn的相关接口
ExecutorManager提供创建、获取Executor的相关接口
ShutdownHook定义引擎关闭阶段的操作

定义了如何启动EngineConn的逻辑。

核心类核心功能
EngineConnServerEngineConn微服务的启动类

定义了执行器相关的核心类。执行器是真正的计算场景执行器,负责将用户代码提交给EngineConn。

核心类核心功能
Executor是实际的计算逻辑执行单元,并提供对引擎各种能力的顶层抽象。
EngineConnAsyncEvent定义了EngineConn相关的异步事件
EngineConnSyncEvent定义了EngineConn相关的同步事件
EngineConnAsyncListener定义了EngineConn相关异步事件监听器
EngineConnSyncListener定义了EngineConn相关同步事件监听器
EngineConnAsyncListenerBus定义了EngineConn异步事件的监听器总线
EngineConnSyncListenerBus定义了EngineConn同步事件的监听器总线
ExecutorListenerBusContext定义了EngineConn事件监听器的上下文
LabelService提供标签上报功能
ManagerService提供与LinkisManager进行信息传递的功能
核心类核心功能
EngineConnCallback定义EngineConn的回调逻辑

能够被访问的Executor。可以通过RPC请求与它交互,从而获取它的状态、负载、并发等基础指标Metrics数据。

核心类核心功能
LogCache提供日志缓存的功能
AccessibleExecutor能够被访问的Executor,可以通过RPC请求与它交互。
NodeHealthyInfoManager管理Executor的健康信息
NodeHeartbeatMsgManager管理Executor的心跳信息
NodeOverLoadInfoManager管理Executor的负载信息
Listener提供与Executor相关的事件以及对应的监听器定义
EngineConnTimedLock定义Executor级别的锁
AccessibleService提供Executor的启停、状态获取功能
ExecutorHeartbeatService提供Executor的心跳相关功能
LockService提供锁管理功能
LogService提供日志管理功能