docs: clarify engine as kernel/event-hub, worker isolation, signal bus in-memory
This commit is contained in:
@@ -211,7 +211,9 @@ Signal 循环 ──→ ThreadStart ──→ Thread 循环
|
||||
|
||||
### 5.1 进程架构
|
||||
|
||||
Engine 主进程与用户代码完全分离。主进程**永远不加载用户代码**,所有用户代码在独立子进程中运行。
|
||||
Engine 主进程是整个系统的 **kernel 和 event hub**。它持有 Signal Bus、Scheduler、Process Manager,是所有 worker 的唯一通信对象。Worker 之间永远不直连——所有信息流都经过 engine 中转。
|
||||
|
||||
Engine 与用户代码完全分离。主进程**永远不加载用户代码**,所有用户代码在独立子进程中运行。
|
||||
|
||||
```
|
||||
systemd / pm2
|
||||
@@ -280,6 +282,8 @@ workflows:
|
||||
|
||||
### 5.2 主进程 ↔ Worker 通信
|
||||
|
||||
所有 worker 只与 engine 通信,worker 之间无任何直接通道。这是 hub-and-spoke 拓扑——engine 是 hub,worker 是 spoke。
|
||||
|
||||
子进程通过 stdio/IPC 与主进程通信,协议极简:
|
||||
|
||||
```typescript
|
||||
@@ -295,6 +299,8 @@ workflows:
|
||||
|
||||
主进程不关心 payload 的内容,只负责转发 signal 到 bus。
|
||||
|
||||
**Signal Bus 是纯内存结构,不持久化。** Engine 崩溃重启后 bus 中的 signal 丢失,但这不影响正确性——reflex 的语义是"重新感知当前状态"而非"处理每个历史事件"。重启后 scheduler 按 interval 和 lastComputeTime 自然恢复节奏,不需要回放丢失的 signal。
|
||||
|
||||
### 5.3 Sense 运行时配置
|
||||
|
||||
```yaml
|
||||
|
||||
Reference in New Issue
Block a user