EngineConn历史引擎信息记录架构

    1. 完成EC信息和资源信息持久化到DB的存储
    2. 支持通过restful完成历史EC信息的查看和搜索
    3. 此次特性新增主要修改为LinkisManager下的RM和AM模块,并新增了一种信息记录表。下面将详细介绍。

      因为此次的实现需要记录EC的信息和资源信息,而资源信息分为请求资源、真实使用资源、释放资源等三个概念,而且都需要进行记录。所以此次实现为基于EC在ResourceManager的生命周期去进行实现,在EC完成以上三个阶段时,都加上EC信息的更新操作。整体如下图所示

    • [输入端] 输入端主要为创建引擎时请求资源、引擎启动后上报真实使用资源、引擎退出时释放资源时输入的信息,主要包括请求的label、资源、ec唯一的ticketid、资源类型.
    • [处理流程] 信息记录service,对输入的数据进行处理,通过标签会解析出对应的引擎信息、用户、creator,以及日志路径。通过资源类型确认是资源请求、使用、释放。接着将这些信息存储到DB中。 调用时序图如下: Time
    1. DROP TABLE IF EXISTS `linkis_cg_ec_resource_info_record`;
    2. CREATE TABLE `linkis_cg_ec_resource_info_record` (
    3. `label_value` VARCHAR(255) NOT NULL COMMENT 'ec labels stringValue',
    4. `create_user` VARCHAR(128) NOT NULL COMMENT 'ec create user',
    5. `service_instance` varchar(128) COLLATE utf8_bin DEFAULT NULL COMMENT 'ec instance info',
    6. `ticket_id` VARCHAR(100) NOT NULL COMMENT 'ec ticket id',
    7. `log_dir_suffix` varchar(128) COLLATE utf8_bin DEFAULT NULL COMMENT 'log path',
    8. `request_times` INT(8) COMMENT 'resource request times',
    9. `request_resource` VARCHAR(255) COMMENT 'request resource',
    10. `used_resource` VARCHAR(255) COMMENT 'used resource',
    11. `released_resource` VARCHAR(255) COMMENT 'released resource',
    12. `release_time` datetime DEFAULT NULL COMMENT 'released time',
    13. `used_time` datetime DEFAULT NULL COMMENT 'used time',
    14. `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT 'create time',
    15. PRIMARY KEY (`id`),
    16. KEY (`ticket_id`),
    17. ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;

    引擎历史管理页面API接口,参考文档 管理台添加历史引擎页面
    https://linkis.apache.org/docs/latest/api/http/linkis-cg-linkismanager-api/ec-resource-management-api

    不涉及安全问题,restful需要登录认证

    需要定期进行清理

    不涉及