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.
|
|
|
|
|
## 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 降级结束
|