FAILURE IS INEVITABLE. SILENCE IS OPTIONAL.
Break the worker.
Keep the promise.
进程会消失,网络会断开,旧 Worker 会迟到。
可靠性不是一句承诺。它是一条经得起核对的执行轨迹。
faultline / execution.log
00.000 lease.claimed token=1
00.012 worker.stopped SIGKILL
02.402 lease.expired reclaim
03.007 lease.claimed token=2
03.710 job.succeeded receipt=1
ILLUSTRATIVE SEQUENCE / 真实记录在下方回放
RECORDED, NOT LIVE
公开页面回放真实进程实验的记录;不会在你的浏览器里伪造 Worker,也不会在服务器上执行任务。
校验事件哈希链…THE RELIABILITY THEATRE
Recovery, frame by frame.
PROCESS CRASH
如果进程消失了,任务还在吗?
FRAME 0WAITING+0.00s
ACTUAL ATTEMPT TIMELINE不是动画模拟:宽度来自实际时间戳
PERSISTED EVENTS
SHOW THE RECEIPTS
把“应该可靠”变成逐条断言。
这些断言检查最终记录;回放游标展示事件发生时的状态。哈希链用于发现记录变动,不能证明记录来自独立可信第三方。
Durable intent
幂等键与内容指纹落盘。相同意图复用原结果,冲突意图返回 409。
Lease + fencing
进程拥有有时限的租约。旧 token 在数据库提交边界被拒绝。
Atomic receipt
内置结果收据与成功状态一起提交。执行允许重试,结果有唯一约束。
Honest boundaries
没有宣称任意外部副作用 exactly-once,也没有把本机实验包装成分布式高可用。
YOUR NEXT EXPERIMENT
把故障带回你的终端。
Node.js 24.x · 零运行时依赖 · SQLite WAL · 独立进程
git clone https://github.com/qiyuhuating/faultline-labcd faultline-lab && npm start打开 http://127.0.0.1:8787