PublicEnhencementService(PS)架构设计

PublicEnhancementService(PS):公共增强服务,为其他微服务模块提供统一配置管理、上下文服务、物料库、数据源管理、微服务管理和历史任务查询等功能的模块。

总览 - 图1

二级模块介绍:

BML物料库

是linkis的物料管理系统,主要用来存储用户的各种文件数据,包括用户脚本、资源文件、第三方Jar包等,也可以存储引擎运行时需要使用到的类库。

核心类核心功能
UploadService提供资源上传服务
DownloadService提供资源下载服务
ResourceManager提供了上传、下载资源的统一管理入口
VersionManager提供了资源版本标记和版本管理功能
ProjectManager提供了项目级的资源管控能力

Configuration统一配置管理

Configuration提供了“用户—引擎—应用”三级配置管理方案,实现了为用户提供配置各种接入应用下自定义引擎参数的功能。

核心类核心功能
CategoryService提供了应用和引擎目录的管理服务
ConfigurationService提供了用户配置统一管理服务

ContextService上下文服务

ContextService用于解决一个数据应用开发流程,跨多个系统间的数据和信息共享问题。

核心类核心功能
ContextCacheService提供对上下文信息缓存服务
ContextClient提供其他微服务和CSServer组进行交互的能力
ContextHAManager为ContextService提供高可用能力
ListenerManager提供消息总线的能力
ContextSearch提供了查询入口
ContextService实现了上下文服务总体的执行逻辑

Datasource数据源管理

Datasource为其他微服务提供不同数据源连接的能力。

核心类核心功能
datasource-server提供不同数据源连接的能力

InstanceLabel微服务管理

InstanceLabel为其他接入linkis的微服务提供注册和标签功能。

核心类核心功能
InsLabelService提供微服务注册和标签管理的功能

Jobhistory历史任务管理

Jobhistory为用户提供了linkis历史任务查询、进度、日志展示的相关功能,为管理员提供统一历史任务视图。

核心类核心功能
JobHistoryQueryService提供历史任务查询服务

Variable用户自定义变量管理

Variable为用户提供自定义变量存储和使用的相关功能。

核心类核心功能
VariableService提供自定义变量存储和使用的相关功能

UDF用户自定义函数管理

UDF为用户提供自定义函数的功能,用户可以在在编写代码时自行引入。

核心类核心功能
UDFService提供用户自定义函数服务