一、全面的非功能质量需求
1、非功能质量需求的指标概述
高性能:通常指单节点服务的吞吐量和响应时间
可用性
可伸缩性
可扩展性
安全性
可监控性
可测试性:QA测试,准生产测试,生产测试。服务需要在不同的阶段有相应的方法和途径来测试,不具备测试条件的系统使用Mock(虚拟对象来测试)方式来测试
鲁棒性:容错性,可恢复性
可维护性
可重用性
易用性
2、不同系统的非功能质量需求的具体指标
(1)应用服务器(服务的入口)
(2)数据库
根据应用层的访问量和访问峰值,计算出需要的数据库资源的吞吐量和每天的数据总量等,依据这个俩评估所需数据库资源的数量和配置、部署结构等
(3)缓存
(4)消息队列
3、典型的技术评审提纲
(1)现状
①业务背景
项目名称,业务描述,
②技术背景
架构描述,当前的系统容量,当前系统调用量的峰值、最小和最大的请求响应时间
(2)需求
业务需求:
①要改造的内容
②要实现的新需求
性能需求:
①预估系统容量
②预估系统调用量的峰值,最小和最大的请求响应时间
③其他非功能质量,例如:安全性、可伸缩性
(3)方案描述
详细说明:
中间件架构(应用服务器、数据库、缓存、消息队列等)
逻辑架构(模块划分、模块通信、信息流、时序等)
数据架构(数据结构、数据分布、拆分策略、缓存策略、读写分离策略、查询策略、数据一致性策略等)
异常处理、容灾策略、灰度发布、上线方案、回滚方案等
性能评估:
给出方案的基准数据,并按性能需求评估需要使用的资源数量
单机并发量
单机容量
单机吞吐量的峰值
按照预估的性能需求,预估资源数量、伸缩方式和功能
要量化列出方案的优缺点
<