Actor16 章 · 并发模型
手写 Actor 运行时与流式 Markdown 解析器
这是一份「从为什么到怎么做」的 Actor 模型笔记:先说清传统请求-响应后端在 AI 时代缺了什么,再把 Actor 的四条金律立住,然后用 Go 一行行手写运行时(邮箱、调度、监督树、持久化、背压),最后拿它当地基做一个真正跑在生产形态下的流式 Markdown 解析器——并诚实地给出基准测试与边界。
Part I · 为什么与是什么
Part II · 跨范式对照
Part III · 手写运行时
- 06手写一个极简 Actor 运行时密封接口消息、有界 channel mailbox、串行 run 循环、recover 兜住 panic、spawn 与父子监督树、Ask。
- 07Demo 实战:用 Actor 建模 AI 流式会话三层监督树:Manager 按 sessionID 路由、Session 持有 keyed state、Worker 无状态易崩;SSE 边界与断线续传。
- 08四大优势的实测验证无锁并发精确、let-it-crash 自愈且状态不丢、有界背压拖不垮、断线续传零外部依赖。
- 09从教学玩具到生产可用集中调度消灭 goroutine 泄漏、死信队列、优雅停止、退避+失败率监督、快照持久化、可观测性。
Part IV · 流式 Markdown 解析器
- 10AI 把 Markdown 解析变成了流处理批量吞吐 → 首字延迟的需求反转;已定稿前缀 + 暂定尾巴;你熟悉的 markdown-it 与 pulldown-cmark。
- 11CommonMark 官方策略里的并行缝隙规范附录 A:块级串行、行内可并行——Actor 拓扑的切缝规范已画好;语法子集与偏差表。
- 12拓扑设计:三种 Actor 与消息协议DocActor(串行心脏)→ InlineWorker 池(并行)→ Assembler(重排序 + 推送);单一入口门面。
- 13四大机制:增量 · 重排 · 自愈 · 背压冻结已定稿只重渲染活动块、按 seq 重排、let-it-crash + 缺口自愈、全链路背压。
- 14生产化返工:Renderer 接口与插件机制从字符串拼接到 io.Writer(基线快 3.5×);从硬编码 switch 到规则注册表(ruler);删除线扩展为证。
- 15极致 Pull 模式:扁平事件流,像 pulldown单线程 pull 的一等 API(复用 Config、写穿 io.Writer、拉取式迭代器);把行内从 AST 树拍扁成开/闭令牌;块与行内交织成一条统一事件流。
- 16诚实的实测、边界与练习把增量收益与 Actor 税分开计量;五准则对照;何时不要用 Actor 解析;六个可验收练习。