BlessingCR’s Blog
BlessingCR’s Blog

拔插式设计

DataSphereStudio--AppConn

https://blessingcr.com/wp-content/uploads/2023/02/image-1.png
  • 工程集成规范 ProjectService,要求必须实现的 StructureOperation 如下:
  • ProjectCreationOperation,工程创建协议。
  • ProjectUpdateOperation,工程更新协议。
  • ProjectDeletionOperation,工程删除协议。
  • ProjectSearchOperation,工程查重协议。
DSS 同第三方应用系统的交互都是通过相应的 AppConn 实例来完成的。

当 AppConn 被部署到指定目录后,dss-framework-project-server 服务启动时会加载或刷新所有的 AppConn,并把它存入物料库。

其它的 DSS 微服务将从 dss-framework-project-server 中按需拉取所有 AppConn 的物料,并动态加载到服务进程,作为 AppConn 实例被调用。

比较重要的文档:

文档1

文档2

理解如下:

可以自行实现添加新的插件,执行脚本时,会调用对应插件下初始化数据库脚本,把数据库信息录入。

个人理解就像是一个微服务,插件注册在该服务上,后续再调用。但是他的插件自己定了个三级规范,多种AppConn实现方式,挺复杂的


Dlink

实现了一个FlinkAPI类, 主要核心还是通过HTTP请求拿到相关信息

private JsonNode get(String route) {

   String res = HttpUtil.get(NetConstant.HTTP + address + NetConstant.SLASH + route, NetConstant.SERVER_TIME_OUT_ACTIVE);

   return parse(res);

}

如何选择版本:

Flink 的版本取决于 lib 下的 dlink-client-1.13.jar。当前版本默认为 Flink 1.13.3 API。向其他版本的集群提交任务可能存在问题,已实现 1.11、1.12、1.13, 1.14,切换版本时只需要将对应依赖在lib下进行替换,然后重启即可。

切换版本时需要同时更新 plugins 下的 Flink 依赖。

理解如下:

Dlink其实并没有自己做一个Flink, 他只是导了个包, 然后你控制版本就通过自己控制他的jar包实现,用Dlink的时候他是通过WebAPI来控制Flink的

个人认为,优点在于稳定,好实现,但是不是热拔插,换版本我的理解是需要重启的

发表回复

textsms
account_circle
email

BlessingCR’s Blog

拔插式设计
DataSphereStudio--AppConn 工程集成规范 ProjectService,要求必须实现的 StructureOperation 如下: ProjectCreationOperation,工程创建协议。 Proj…
扫描二维码继续阅读
2023-02-15