主题
12 性能、容量、韧性与灾备
12.1 非功能目标的确认方式
性能、可用性、容量、RTO/RPO 和灾备目标应由甲方在需求基线中量化确认。任何 TPS、延迟或资源数字只有在同时绑定业务场景、版本、环境、拓扑、数据规模、安全开关、HSM 类型和测试方法时才具有验收意义。
| 指标域 | 需确认的参数 | 验收证据 |
|---|---|---|
| 吞吐量 | 场景比例、稳态/峰值 TPS、持续时间 | 负载模型、原始结果、监控快照 |
| 延迟 | 端到端 P50/P95/P99、账本最终性时延 | 客户端与服务端时间线、追踪 |
| 可用性 | 服务范围、统计口径、计划维护规则 | 运行记录、告警和事件统计 |
| 容量 | 机构/钱包/交易量、增长期、存储期限 | 容量模型、资源与存储预测 |
| 韧性 | 允许故障、降级方式、恢复时限 | 故障注入、恢复和对账报告 |
| 灾备 | RTO、RPO、主备范围、演练频率 | 经批准的 DR 方案和演练记录 |
12.2 负载与容量模型
容量模型至少应说明:业务场景比例、并发用户/机构、钱包与 Token/UTXO 分布、批量大小、交易报文、数据库数据量、账本增长、审计保留期、外部依赖响应、HSM 签名负载以及监控采样开关。
当前技术基线中,不同组件的扩展语义不同:无状态接入服务可采用多副本;共享数据库服务需验证并发和锁策略;某些签名/审计角色及进程内状态可能要求主备或专门的租约控制。任何水平扩展声明必须以实际架构、证书、数据和状态模型验证为准,详见扩容指南。
12.3 性能与过载控制
系统应提供请求大小、并发、队列、超时、重试和速率限制控制,保护在途资金操作及账本、数据库、Redis、KMS/HSM、RTGS 等关键依赖。发生过载时应快速返回可解释的受控失败或处理中状态,禁止使用无限队列、无限重试或无界缓存掩盖问题。
性能测试应涵盖正常、峰值、长稳、突发、故障下负载和恢复后对账。应同时报告业务成功率、拒绝率、超时率、未知状态、最终性等待、资源利用、依赖饱和和数据差异。
12.4 高可用与故障恢复
每个组件须定义部署模式:无状态多副本、共享状态多副本、主备或单实例;并明确健康检查、故障检测、切换条件、数据一致性、证书/身份影响和恢复步骤。未经故障注入或切换演练验证的架构不得表述为已具备高可用。
对于账本最终性、密钥安全、资金一致性或外部结算状态无法确认的情况,系统应进入受控限制/恢复流程。恢复前须完成必要的状态查询、对账、审批和审计,不能仅重启服务后恢复写入。
12.5 备份与灾备
灾备设计应覆盖业务数据库、账本相关数据、配置、证书公共材料、监控/审计数据、外部接口依赖和流量切换。备份策略须定义频率、加密、存放、保留、恢复权限和完整性校验。生产私钥按密钥管理策略独立处置,不应通过普通备份导出。
演练应验证从故障识别到恢复服务、重新接入依赖、恢复数据、账本/业务/审计/会计对账和形成报告的完整链路。
12.6 验收门槛
正式阈值由甲方确认。最低原则是:关键业务和数据一致性无未解释差异;安全或韧性测试中的严重问题关闭;性能结果在批准条件下达到目标;备份恢复和灾备演练达到批准 RTO/RPO;所有例外均有书面风险接受和失效期限。