Skip to main content
版本:1.5.0

名词解释和服务介绍

1.名词解释

Linkis 基于微服务架构开发,其服务可以分为3类服务群(组):计算治理服务组、公共增强服务组和微服务治理服务组。

  • 计算治理服务组(Computation Governance Services):处理任务的核心服务,支持计算任务/请求处理流程的4个主要阶段(提交->准备->执行->结果);
  • 公共增强服务组(Public Enhancement Services):提供基础的支撑服务,包括上下文服务、引擎/udf物料的管理服务、历史任务等公共服务及数据源的管理服务等;
  • 微服务治理服务组(Microservice Governance Services):定制化的Spring Cloud Gateway、Eureka。提供微服务的基础底座

下面将对这三组服务的关键名词和服务进行介绍:

1.1 关键模块名词

首先我们了解下关键模块的名词

简称全称主要功能
MG/mgMicroservice Governance微服务治理
CG/cgComputation Governance计算治理
EC/ecEngineConn引擎连接器
-Engine底层计算存储引擎,如spark、hive、shell
ECM/ecmEngineConnManager引擎连接器的管理
ECP/ecpEngineConnPlugin引擎连接器插件
RM/rmResourceManager资源管理器,用于管控任务资源和用户资源使用和控制
AM/amAppManager应用管理器,用于管控EngineConn和ECM服务
LM/lmLinkisManagerLinkis管理器服务,包含了:RM、AM、LabelManager等模块
PES/pesPublic Enhancement Services公共增强服务
-Orchestrator编排器,用于Linkis任务编排,任务多活、混算、AB等策略支持
UJESUnified Job Execute Service统一作业执行服务
DDL/ddlData Definition Language数据库定义语言
DML/dmlData Manipulation Language数据操纵语言

1.2 任务关键名词

  • JobRequest: 任务请求,对应Client提交给Linkis的任务,包含任务的执行内容、用户、标签等信息
  • RuntimeMap: 任务运行时参数,任务的运行时参数,任务级别生效,如放置多数据源的数据源信息
  • StartupMap: 引擎连接器启动参数,用于EngineConn连机器启动的参数,EngineConn进程生效,如设置spark.executor.memory=4G
  • UserCreator: 任务创建者信息:包含用户信息User和Client提交的应用信息Creator,用于任务和资源的租户隔离
  • submitUser: 任务提交用户
  • executeUser: 任务真实执行用户
  • JobSource: 任务来源信息,记录任务的IP或者脚本地址
  • errorCode: 错误码,任务错误码信息
  • JobHistory: 任务历史持久化模块,提供任务的历史信息查询
  • ResultSet: 结果集,任务对应的结果集,默认以.dolphin文件后缀进行保存
  • JobInfo: 任务运行时信息,如日志、进度、资源信息等
  • Resource: 资源信息,每个任务都会消耗资源
  • RequestTask: EngineConn的最小执行单元,传输给EngineConn执行的任务单元

2. 服务介绍

本节主要对Linkis的服务进行介绍,了解Linkis启动后会有哪些服务,以及服务的作用。

2.1 服务列表

Linkis启动后各个服务群(组)下包括的微服务如下:

归属的微服务群(组)服务名主要功能
MGSlinkis-mg-eureka负责服务注册与发现,上游其他组件也会复用linkis的注册中心,如dss
MGSlinkis-mg-gateway作为Linkis的网关入口,主要承担了请求转发、用户访问认证
CGSlinkis-cg-entrance任务提交入口是用来负责计算任务的接收、调度、转发执行请求、生命周期管理的服务,并且能把计算结果、日志、进度返回给调用方
CGSlinkis-cg-linkismanager提供了AppManager(应用管理)、ResourceManager(资源管理)、LabelManager(标签管理)、引擎连接器插件管理的能力
CGSlinkis-cg-engineconnmanagerEngineConn的管理器,提供引擎的生命周期管理
CGSlinkis-cg-engineconn引擎连接器服务,是与底层计算存储引擎(Hive/Spark)的实际连接的服务,包含了与实际引擎的会话信息。对于底层计算存储引擎来说 它充当了一个客户端的角色,由任务触发启动
PESlinkis-ps-publicservice公共增强服务组模块服务,为其他微服务模块提供统一配置管理、上下文服务、BML物料库、数据源管理、微服务管理和历史任务查询等功能

启动后开源看到的所有服务如下图: Linkis_Eureka

2.1 公共增强服务详解

公共增强服务组(PES)在1.3.1版本后默认将相关模块服务合并为一个服务linkis-ps-publicservice提供相关功能,当然如果你希望分开部署也支持的。您只需要将对应模块的服务打包部署即可。 合并后的公共增强服务,主要包含了以下功能:

简称全称主要功能
CS/csContext Service上下文服务,用于任务间传递结果集、变量、文件等
UDF/udfUDFUDF管理模块,提供UDF和函数的管理功能,支持共享和版本控制
variableVariable全局自定义模块,提供全局自定变量的管理功能
scriptScript-dev脚本文件操作服务,提供脚本编辑保存、脚本目录管理功能
jobHistoryJobHistory任务历史持久化模块,提供任务的历史信息查询
BML/bmlBigData Material library大数据物料库
-Configuration配置管理,提供配置参数的管理和查看的功能
-instance-label微服务管理服务,提供微服务和路由标签的映射管理功能
-error-code错误码管理,提供通过错误码管理的功能
DMS/dmsData Source Manager Service数据源管理服务
MDS/mdsMetaData Manager Service元数据管理服务
-linkis-metadata提供Hive元数据信息查看功能,后续将会合并到到MDS
-basedata-manager基础数据管理,用于管理Linkis自身的基础元数据信息

3 模块介绍

本节主要对Linkis的大模块和功能进行主要介绍

  • linkis-commons: linkis的公共模块,包含了公共的工具类模块、RPC模块、微服务基础等模块
  • linkis-computation-governance: 计算治理模块,包含了计算治理多个服务的模块:Entrance、LinkisManager、EngineConnManager、EngineConn等
  • linkis-engineconn-plugins: 引擎连接器插件模块,包含了所有的引擎连接器插件实现
  • linkis-extensions: Linkis的扩展增强模块,不是必要功能模块,现在主要包含了文件代理操作的IO模块
  • linkis-orchestrator: 编排模块,用于Linkis任务编排,任务多活、混算、AB等高级策略支持
  • linkis-public-enhancements: 公共增强模块,包含了所有的公共服务用于给到linkis内部和上层应用组件进行调用
  • linkis-spring-cloud-services: spring cloud相关的服务模块,包含了gateway、注册中心等
  • linkis-web: 前端模块