ccoop12/reliability-lab

GitHub: ccoop12/reliability-lab

一个交互式的事件响应模拟器,通过确定性故障场景让运维和 SRE 工程师在无风险的环境中练习弹性系统的故障定位与缓解决策。

Stars: 0 | Forks: 0

# Reliability 实验室 Reliability Lab 是一个交互式的事件响应模拟器,用于练习弹性系统背后的决策。它提供确定性的故障场景、服务依赖关系、模拟遥测数据、缓解措施选择,以及可导出的复盘报告。 ## 你可以练习的内容 - 通过 API、缓存和数据库压力追踪缓存雪崩。 - 通过有界重试和熔断机制来控制级联超时。 - 通过可逆的回滚从版本回归中恢复。 - 将看似合理的操作与能解决根本原因的操作进行对比。 - 导出包含影响、原因、缓解措施、结果和经验教训的简明模拟复盘报告。 ## 为什么会有这个项目 运维知识通常以概念定义的方式教授。Reliability Lab 将其转化为一个决策循环: 1. 观察依赖关系图和事件顺序。 2. 识别限制条件或故障策略。 3. 选择有界的缓解措施。 4. 观察建模后的服务目标的变化。 5. 将经验教训保存在复盘报告中。 ## 工程亮点 - 通过 Vinext 渲染的兼容 Next 的 App Router - 基于 React 19 的交互式模拟 - 兼容 Cloudflare Worker 的输出 - 纯确定性场景引擎 - 用于模拟和渲染 HTML 检查的 Node 测试运行器 - GitHub Actions 质量门禁 - 响应式且支持键盘访问的控制界面 - 感知主机环境的 Open Graph 和 X 社交元数据 - 无需数据库、账户、API 密钥或生产数据 ## 本地运行 环境要求: - Node.js 22.13 或更高版本 - npm ``` npm install npm run dev ``` 打开 `http://localhost:3000`。 ## 验证 ``` npm run lint npm test ``` `npm test` 会创建生产构建,测试渲染后的 Worker 响应,并执行事件决策模型。 ## 项目结构 ``` app/ ReliabilityLab.tsx interactive product experience globals.css responsive visual system layout.tsx metadata and social preview wiring page.tsx route entry lib/ simulation.js deterministic scenarios and outcomes tests/ rendered-html.test.mjs simulation.test.mjs worker/ index.ts Cloudflare Worker entry point ``` ## 场景模型 每个场景定义了: - 事件背景和根本原因; - 五个服务的初始健康状态; - 可用性、尾部延迟、错误率和错误预算状态; - 带有时间戳的事件流; - 三个操作员操作; - 确定性的结果和操作员经验教训。 该模拟器是用于教育目的的,并非生产容量模型。 ## 安全 Reliability Lab 没有身份验证、数据库、用户输入持久化或运行时密钥。请通过 [SECURITY.md](./SECURITY.md) 中的流程报告安全问题。 ## 许可证 [MIT](./LICENSE)
标签:MITM代理, React, Syscalls, 事故响应, 混沌工程, 程序员工具, 稳定性, 自动化攻击, 运维