You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
buffer_platform/openspec/specs/storage-fallback/spec.md

39 lines
1.5 KiB

## ADDED Requirements
### Requirement: 三级降级策略
系统应当实现 Redis → MySQL → SQLite 的三级降级读取策略,保证系统可用性。
#### Scenario: 正常模式Redis + MySQL 可用)
- **WHEN** Redis 和 MySQL 均可用
- **THEN** 系统优先从 Redis 读取,未命中时回源 MySQL
#### Scenario: Redis 不可用降级
- **WHEN** Redis 服务不可用但 MySQL 可用
- **THEN** 系统直接从 MySQL 读取数据,跳过 Redis 缓存层
#### Scenario: Redis 和 MySQL 均不可用降级
- **WHEN** Redis 和 MySQL 均不可用
- **THEN** 系统降级到 SQLite从 SQLite 读取数据并保证基础服务可用
### Requirement: 降级状态检测
系统应当能够检测存储后端的可用性状态,并在降级时输出明确的日志。
#### Scenario: 启动时降级检测
- **WHEN** 应用启动时检测到 Redis 或 MySQL 不可用
- **THEN** 系统输出降级警告日志,说明当前使用的存储模式
#### Scenario: 运行时降级触发
- **WHEN** 运行中 Redis 或 MySQL 连接异常
- **THEN** 系统自动切换到降级模式,输出降级日志,并继续提供服务
### Requirement: 降级恢复
系统应当能够在存储后端恢复后自动恢复到正常模式。
#### Scenario: Redis 恢复
- **WHEN** Redis 从不可用状态恢复
- **THEN** 系统自动恢复到 Redis + MySQL 模式,后续读取优先使用 Redis
#### Scenario: MySQL 恢复
- **WHEN** MySQL 从不可用状态恢复
- **THEN** 系统自动恢复到 Redis + MySQL 模式SQLite 降级结束