实时事件流
Real-time Event Streaming
服务端推送事件、SSE 客户端管理、实时状态广播
子问题
1.SSE 连接池管理
2.语义化事件广播
3.客户端断连处理
4.处理状态实时推送
5.事件类型体系设计与客户端分发
6.连接时初始状态同步
7.业务事件与状态事件的自动联动
各项目的解法1 solutions
Signals
横向对比
| 维度 | claude-mem |
|---|---|
| 传输协议 | SSE(text/event-stream),Express res.write 单向推送 |
| 连接池结构 | Set<Response> 内存集合,O(1) 增删,单次遍历广播 |
| 事件类型体系 | 5 种客户端事件 + 4 种服务端事件,联合类型约束 |
| 断连处理 | 服务端 res.on('close') 自动清理,客户端 3s 延迟重连 |
| 语义封装 | 三层架构:传输层 SSEBroadcaster → 语义层 SessionEventBroadcaster → 业务层 ObservationBroadcaster |
| 状态同步 | 每次业务事件广播后自动同步 processing_status(队列深度 + 活跃状态) |
最佳实践
1.单次遍历广播避免两步清理,短路无客户端场景
2.三层封装:传输层/语义层/业务层职责分离
3.连接即推送:addClient 后立即发送 initial_load + processing_status
4.WorkerRef 可选引用模式解耦 Agent 与 SSE 传输