Flux

🔄 多 Agent 共享状态引擎

基于事件溯源的共享状态引擎,支持多 Agent 协调与实时数据同步,适合分布式系统状态管理

收藏
7.7k
安装
2.4k
版本
1.0.1
CLS 安全扫描中
预计需要 3 分钟...

使用说明

核心用法

Flux 是一款面向多 Agent 系统的持久化共享状态引擎,采用事件溯源(Event Sourcing)架构。Agent 通过发布不可变事件(Events)来更新世界状态,Flux 自动派生聚合后的实体(Entity)状态供所有 Agent 查询。核心操作包括:通过 ./scripts/flux.sh publish 发布事件、使用 get 查询实体当前状态、list 检索实体列表,以及通过 WebSocket /api/ws 订阅实时更新。

显著优点

  • 多 Agent 协调天然支持:事件驱动架构使多个 Agent 能无缝共享观测数据,避免状态孤岛
  • 增量更新高效:Properties 采用合并策略,仅需发送变更字段,大幅降低网络开销
  • 持久化与高可用:状态通过 NATS JetStream 持久化并支持快照,服务重启不丢数据
  • 灵活命名空间:支持 / 分隔的层级 ID(如 scada/pump-01),便于大规模设备管理
  • 实时订阅能力:原生 WebSocket 支持,适合需要毫秒级状态同步的场景

潜在缺点与局限性

  • 自托管运维成本:默认依赖本地部署(localhost:3000),需自行维护 NATS JetStream 基础设施
  • 查询模式受限:仅支持基于前缀和命名空间的过滤,无复杂查询语法或全文检索
  • 事件不可变带来的调试挑战:历史事件永久保留,错误事件需通过补偿事件修正,逻辑复杂度高
  • 批量操作限制:单事件 1MB、批量 10MB 的上限对高频大数据场景可能吃紧
  • 认证粒度较粗:命名空间级 token 认证,无细粒度实体级权限控制

适合人群

  • 构建多 Agent 协作系统的开发者(如机器人集群、IoT 设备网络)
  • 需要强一致性状态追踪的 SCADA/工业监控系统
  • 微服务架构中需要共享上下文状态的后端团队
  • 对事件溯源模式有理解、能接受不可变数据语义的技术团队

常规风险

  • 状态派生延迟:高并发写入时,聚合状态可能存在短暂最终一致性窗口
  • 事件风暴风险:无速率限制的批量发布可能压垮下游消费者
  • 敏感数据泄露:默认无加密传输说明,生产环境需确认 TLS 配置
  • 命名空间隔离失效:若 token 泄露,攻击者可跨命名空间操作(需依赖 FLUX_ADMIN_TOKEN 的严格保管)

Flux 内容

references文件夹
scripts文件夹
手动下载zip · 7.6 kB
api.mdtext/markdown
请选择文件