LinkisManager架构设计

LinkisManager作为Linkis的一个独立微服务,对外提供了AppManager(应用管理)、ResourceManager(资源管理)、LabelManager(标签管理)的能力,能够支持多活部署,具备高可用、易扩展的特性。

01

  • EngineConnManager(ECM): 引擎管理器,用于启动和管理引擎
  • EngineConn(EC):引擎连接器,用于连接底层计算引擎
  • ResourceManager(RM):资源管理器,用于管理节点资源

AppManager用于引擎的统一调度和管理

核心接口/类主要功能
EMInfoService定义了EngineConnManager信息查询、修改功能
EMRegisterService定义了EngineConnManager注册功能
EMEngineService定义了EngineConnManager对EngineConn的创建、查询、关闭功能
EngineAskEngineService定义了查询EngineConn的功能
EngineConnStatusCallbackService定义了处理EngineConn状态回调的功能
EngineCreateService定义了创建EngineConn的功能
EngineInfoService定义了EngineConn查询功能
EngineKillService定义了EngineConn的停止功能
EngineRecycleService定义了EngineConn的回收功能
EngineReuseService定义了EngineConn的复用功能
EngineStopService定义了EngineConn的自毁功能
EngineSwitchService定义了引擎切换功能
AMHeartbeatService提供了EngineConnManager和EngineConn节点心跳处理功能

通过AppManager申请引擎流程如下: 总览 - 图2

LabelManager提供标签管理和解析能力

核心接口/类主要功能
LabelService提供了标签增删改查功能
ResourceLabelService提供了资源标签管理功能
UserLabelService提供了用户标签管理功能

LabelManager架构图如下: 总览 - 图3

ResourceManager用于管理引擎和队列的所有资源分配

核心接口/类主要功能
RequestResourceService提供了EngineConn资源申请功能
ResourceManagerService提供了EngineConn资源释放功能
LabelResourceService提供了标签对应资源管理功能

ResourceManager架构图如下:

总览 - 图4

Monitor提供了节点状态监控的功能