跳转到主要内容
插件间通信 (IPC) 允许插件通过 Arupa 内核提供的功能进行协作。 插件无需共享内存或连接到彼此的内部传输。 内核提供通信边界,并对 WASM 和 gRPC 插件应用相同的行为。 根据需要共享的内容选择机制:
  • 键值存储 提供按命名空间和键组织的共享内存状态。 用于存储其他插件可能稍后读取或更新的值。
  • 插件消息 提供同步的点对点请求/响应通信。 当一个插件需要另一个插件立即执行操作并返回结果时,请使用它们。
键值存储不持久,插件消息不会被排队或持久化。 如果数据必须在内核重启后仍然存在, 请将其存储在这些进程间通信 (IPC) 机制之外的持久系统中。 如果请求必须异步传递或传递给多个插件,请在应用程序中显式定义该行为, 而不是假设内核会将其排队或广播。 这两种机制都通过生成的协议绑定在插件边界之间传输数据。 请确保参与通信的插件之间的数据格式和所有权规则清晰明确。