Skip to content

EventBus 与 Config API

服务调用使用 service.method 格式。当前可用的 Config 方法如下:

方法 请求 成功响应
config.list Empty {} Vec<String>
config.get GetRequest { config, key } toml::Value
config.set SetRequest { config, key, value } bool
config.remove KeyRequest { config, key } bool
config.reload ConfigRequest { config } bool

服务名称和方法名限制为 1–256 个 UTF-8 字节。每个服务名称一次只能由一个已连接组件注册。

写入操作成功保存后,Config 发布 config.changed:

pub struct Changed {
pub config: String,
pub key: String,
}

set 和 remove 使用具体的键名;reload 使用 "*" 表示整个配置重新载入。

请求和响应使用 Serde 类型进行 MessagePack 编码。当前协议版本为 2,新版 Broker 不与协议版本 1 的客户端互通。

EventBus 默认只接受回环 TCP 连接,当前没有认证、加密或操作系统用户隔离。生产环境或不可信多用户环境中不得直接暴露监听地址。

客户端遇到 Timeout 或 Disconnected 时,写入是否已经落盘是不确定的。对非幂等操作,先用 get 或 reload 确认状态,再决定是否重试。EventBus 不会缓存断线期间的事件。