Skip to content

非功能性需求 ​

1. 性能要求 ​

指标要求
API 响应时间< 200ms(95% 请求)
并发用户数1000+(Octane 模式可进一步提升)
数据库查询优化预加载防止 N+1 查询
缓存策略热点数据使用 Redis 缓存
队列异步处理耗时操作(统计、AI 工具等)走队列

2. 安全要求 ​

安全项实现方式
密码加密使用 Bcrypt 加密(rounds = 12)
API 认证使用 Sanctum Token 认证
权限验证敏感接口使用权限验证(permission/role 中间件)
SQL 注入防护使用 Eloquent ORM / 查询构建器
XSS 防护API Resource 输出转义
CSRF 防护Web 接口启用,/admin/* 和 /api/* 豁免
请求频率限制登录、验证码等接口设置 throttle
操作审计后台写操作自动记录审计日志
CSP 内容安全策略配置内容安全策略响应头
Telescope 保护生产环境默认禁用

3. 可扩展性 ​

  • 模块化设计:功能独立封装
  • 微服务友好:API 化设计,易于拆分
  • 支持水平扩展:无状态设计(Token 认证)
  • 队列系统:异步任务处理
  • AI Tool 可插拔:新工具只需实现 Tool 契约即可接入

4. 可维护性 ​

规范项要求
代码规范遵循 PSR-12 标准,Laravel Pint 自动格式化
类型安全PHP 8.4 严格类型(declare(strict_types=1)),所有方法参数和返回值类型声明
注释完整关键逻辑使用 PHPDoc,复杂处加内联注释
测试覆盖单元测试 + 功能测试,PHPUnit 12 属性语法,覆盖率 >= 70%
枚举统一使用 PHP 8 Enum + HasLabel trait

5. 可靠性 ​

  • 错误处理:统一的异常处理机制
  • 日志记录:完整的日志记录(Monolog 多通道)
  • 数据备份:支持数据库备份
  • 故障恢复:队列失败重试、调度任务自动记录失败状态

文档来源:PRD 第 9 章