Hasty Briefsbeta

双语

When the machine boots but the reply disappears

a day ago
  • 当机器启动但回复消失时,重试是合理的,但启动第二台机器会使恢复成本高于故障本身。
  • 每个边界(命令执行、网络成员资格、磁盘捕获)都需要决定允许重试做什么;幂等键和收据有助于防止重复计费或操作。
  • 账户协调使用 Cloudflare Durable Objects 在启动前序列化准入(预留插槽、每月启动、计算配额),从而在保持独占准入的同时实现并行配置。
  • 在机器启动之前,收据与计费预留原子性地创建;重试会找到收据并返回“正在启动”,或者在90秒窗口后与实际状态协调。
  • 预留编号和生成标识符(id, createdAt)防止取消或插槽重用后延迟消息到达;旧的调度被拒绝。
  • 计算预算在启动时预留并通过硬截止日期强制执行;未使用的预留会在确认停止时释放,但失败的停止会保留预留以防止双重支出。
  • 托管执行有自己的幂等键和序列号;输出事件允许重新连接到丢失的数据;运行时重启会中断未完成的执行并销毁客户机以避免未跟踪的工作。
  • 私有服务 HTTP 路由使用带有可信标头的出站拦截;目标在传递响应之前重新检查活跃度和成员资格,防止来自过期安排的未授权访问。
  • 文件传输先写入临时文件然后重命名;它们拒绝符号链接目标,并且有 1 MiB 的限制;应用程序必须在文件传输之外验证工件正确性。
  • 工作区快照跨越三个所有者且无法原子化;运行时在捕获前保存收据,如果中断,重试可以恢复句柄,但模糊的捕获无法重复并且保持源完整。
  • 生命周期测试故意延迟调度、丢弃回复并重用插槽,以验证围栏和幂等性是否正常工作,包括在同一毫秒内。