插件
简介
了解插件的作用。
插件是一个可部署的单元,用于向 Arupa 应用程序添加功能。
它包含特定于该功能的代码,而 Arupa 内核则提供共享的运行时和应用程序集成。
这使得内核负责处理通用问题,而插件则专注于自身的业务逻辑。
内核管理插件的生命周期:它加载插件包,启动选定的后端,
注册插件,并将插件声明的资源连接到应用程序。
插件可以公开 HTTP 路由、静态资源、Socket.IO 命名空间和事件,
以及插件间消息处理程序。内核将请求和事件路由到相应的插件,并强制执行为每个资源声明的访问策略。
插件可以作为 WASM 模块或 gRPC 组件运行。
在注册期间,插件会返回其标识及其提供的资源。
其处理程序随后实现该特性行为,并在需要共享应用程序功能时使用内核主机 API,
例如日志记录、键值存储、配置更新、Socket.IO 消息或与其他插件通信。
每个插件都由一个清单文件描述,其中包含名称、版本、后端类型、合约版本、
入口路径和启动命令等元数据。清单文件和后端工件打包在一起,
以便内核可以发现并将插件作为一个整体加载。
本节的其余部分将介绍包格式、插件协议、主机 API以及可用的传输方式。