Core 是 Worker 内核,不是 Workflow 语言运行时
`sdk-core` 轮询 Server、维护 state machines、发 activation 给语言层。语言层才真正执行 TypeScript/Python/.NET 用户代码。
Temporal SDK / Core / Replay
结论先说清:Core-based SDK 把语言层和服务端之间的复杂性压到 Rust Core。语言 SDK 执行业务代码,Core 负责轮询任务、解析 Event History、维护状态机、校验命令确定性,并把命令或 Activity 结果通过 RPC 交给 Server。Event History 由 Server 追加,SDK 不直接写历史。
切换链路并点击图中的步骤,可以看到方法调用、责任边界和对应源码位置。
这不是数据库 ER,而是源码实体之间的关系图。点击节点查看它在链路里承担的职责。
最小 happy path 中,Workflow 命令和 Activity 结果都会变成后续 replay 可以消费的事件。
这些判断直接来自当前拉取的源码,不是概念性描述。
`sdk-core` 轮询 Server、维护 state machines、发 activation 给语言层。语言层才真正执行 TypeScript/Python/.NET 用户代码。
Core 先应用已存在的 history,再让语言层重跑代码生成命令。命令事件会消费 Core 队列中的期望命令,用来检测非确定性。
Activity Worker 完成后调用 Core,Core 调 Server。Server 写 `ActivityTaskCompleted` 后创建新的 WorkflowTask,Workflow 下次 activation 才收到 `ResolveActivity`。