运行架构的设计,不是对开发架构的否定与替换,而是进一步的调整与优化。譬如在开发架构设计阶段只考虑对数据的访问,而到了运行架构阶段则要考虑性能,从而添加缓存与分布式队列的设计等等。
非功能性需求
非功能需求简单归纳为URPS+,即可用性(Usability)可靠性(Reliability)性能(Performance)可支持行(Supportability)以及其他(+)
- 可用性:泛指用户可以正常使用系统的指标,包括易用性,准确性,安全性,兼容性等
- 可靠性:系统可靠运行不宕机,包括系统成熟度,数据吞吐量,并发用户数,连续不停机性能等,数据容错性,系统易恢复性等
- 性能:
- 可支持性:软件的可维护性,易变更性
非功能需求示例:
- 可靠性要求:
应确保系统7*24小时持续稳定可靠运行,保障平均年故障时间少于3天,平均故障修复时间小于1小时,同时在软件设计上应消除单点故障,部署时考虑适当冗余,并具备良好的备份机制- 性能需求
2.1 日常交易类业务
|业务复杂性|平均响应时间参考值秒|峰值响应时间参考值秒| |---|----|----| |日常交易|小于5|小于10|2.2 查询类业务
根据查询的复杂成都,查询的数据量大小等因素,查询类约为分为简单查询与复杂查询两种
业务复杂性 平均响应时间参考值秒 峰值响应时间参考值秒 简单查询 小于5 小于10 复杂查询 小于20 小于40
- 易用性要求
系统部署要简单轻量
意图架构
意图架构的设计思路是不再规划一成不变的未来,而是规划可以预测的当前,并随时做好应对未来变化的准备。
意图架构将大范围的架构规划变为了小范围的架构调整。