Skip to content

refactor(fit): 优化 Python 版本的插件体系 #95

Description

@CodeCasterX

背景

当前 FIT 编程框架支持 Java 和 Python 两种语言,其中 Java 语言的插件体系比较完善,支持插件的聚散部署,即 2 个插件,既可以聚合成一个进程启动部署(单体应用),也可以分散为 2 个进程分别启动部署(微服务),但 Python 语言的插件体系暂时不是很完善,虽然也支持聚散部署,但是存在较多的限制。下面就对这些限制进行细化说明:

例如,在 Java 中,每一个 Java 插件都有自己独立的依赖,当不同插件聚合部署时,插件与插件之间可以做到很好的隔离(通过不同的 ClassLoader 完成),因此,Java 插件就算依赖冲突,也可以聚合部署。但是 Python 插件聚合部署就必须限制所有插件的依赖不冲突。这个限制非常强,在互相独立的插件开发过程中,是无法感知到对方的依赖情况的,因此,在 Python 插件体系还不完善的时候,强行使用 Python 的聚合对用户的使用造成了比较大的困扰。

目标

基于上面的原因,Python 插件的带隔离功能的聚合部署将会成为一个远期的探索方向,当前,需要约定,每次仅部署一个 Python 插件,能够让用户方便使用,并接入 ModelEngine 体系的工具及 MCP 服务。

最终,通过 K8S 的部署等途径,为用户提供一套方便的使用脚本,可以在 App-Platform 已经启动的情况下,快速搭建部署 Python 插件环境,使现在的应用可以调用到新增的 Python 插件。

Metadata

Metadata

Assignees

Labels

Fields

No fields configured for Feature.

Projects

Status
No status

Relationships

None yet

Development

No branches or pull requests

Issue actions