mcpField
S
Scale Game

Scale Game

github.com/obra开发756513 次安装54 周前更新
代码仓库

关于 Scale Game

Scale Game 是一项开发技能,通过在极端规模下测试方案,揭示其限制与经得起考验的部分。它引导工程师从数量、速度、用户数、持续时间和故障率等维度检验大小两端。

主要功能

  1. 01选择要测试的规模维度
  2. 02检验最小与最大条件
  3. 03找出方案失效的位置
  4. 04记录仍然稳健的部分

适用场景

  1. 01部署前发现生产环境限制
  2. 02评估架构在极端条件下的表现

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/obra/superpowers-skills --skill scale-game

安装后在 Claude Code 中输入/scale-game确认已加载。

详细介绍

规模测试

概述

在极端规模下测试你的方案,找出哪些会崩溃,哪些却能出乎意料地经受住考验。

**核心原则:**极端情况会揭示被正常规模掩盖的根本事实。

快速参考

规模维度极端测试范围揭示的问题
数量1 个项目 vs 10 亿个项目算法复杂度限制
速度即时 vs 1 年异步需求、缓存需求
用户1 个用户 vs 10 亿个用户并发问题、资源限制
持续时间毫秒 vs 数年内存泄漏、状态增长
失败率从不失败 vs 总是失败错误处理是否充分

流程

  1. 选择维度 - 哪些方面可能发生极端变化?
  2. 测试最小值 - 如果规模缩小、速度加快或数量减少 1000 倍,会怎样?
  3. 测试最大值 - 如果规模扩大、速度变慢或数量增加 1000 倍,会怎样?
  4. 记录故障点 - 限制出现在哪里?
  5. 记录经受住考验的部分 - 哪些设计从根本上是可靠的?

示例

示例 1:错误处理

正常规模:“发生错误时进行处理”效果很好 **规模达到 10 亿时:**错误数量压垮日志系统,导致系统崩溃 **揭示的问题:**需要让错误不可能发生(类型系统),或做好面对错误的准备(混沌工程)

示例 2:同步 API

**正常规模:**直接函数调用可行 **全球规模:**网络延迟会让同步调用无法使用 **揭示的问题:**异步/消息传递成为生存必需,而非优化手段

示例 3:内存状态

**正常持续时间:**运行数小时或数天没有问题 **持续数年时:**内存无限增长,最终导致崩溃 **揭示的问题:**需要持久化或定期清理,不能依赖内存

需要进行此项测试的警示信号

  • “在开发环境中能运行”(但在生产环境中也能运行吗?)
  • 不清楚限制在哪里
  • “应该能很好地扩展”(但没有经过测试)
  • 对生产环境中的表现感到意外

请记住

  • 极端情况会揭示根本问题
  • 在一种规模下可行的方案,在另一种规模下可能失效
  • 双向测试(更大 AND 更小)
  • 尽早利用测试结果验证架构

评论

支持 Markdown