ServiceFlow - API 故障排查实验
基于 FastAPI 的应用支持项目,围绕订单业务练习 SQL 排查、支付异常处理和 API 回归测试。
- 问题
- 订单报表存在重复查询;支付失败后,订单可能仍被标记为已支付;无效的订单明细也可能造成金额错误。
- 方法
- 我结合请求日志、服务层代码和 SQL 查询计划定位原因,改用带索引的聚合查询、修正支付和数据校验逻辑,并用 pytest 验证修复。
- 结果
- 在生成的 SQLite 数据集上,索引和聚合查询把本地服务层中位耗时由 90.26 ms 降至 2.11 ms(42.8 倍);数据包括 500 名客户、2,000 笔订单和 5,966 条明细。
- Python
- FastAPI
- SQLAlchemy
- SQLite
- SQL diagnostics
- pytest
- GitHub Actions
本地生成数据 · 模拟故障 · 无在线演示。