下面是我在做一个产品中总结的对于一些常用质量属性使用的战术,对于质量属性驱动的软件构架有一定的指导意义。
一、 可用性战术
1)HAC双机热备:主动式冗余,切换时间非常短,数据和计算都热备
2)总控双机热备:被动式冗余,异地数据灾备,主要是数据的热备,发生故障,需要手工切换
3)故障检测:提供ping后台主机、总控和HAC心跳检测、日志空间告警、内存/日志空间检测、异常信息记录至日志文件、升级操作的回滚
4)错误预防:进程监视,如果异常退出则重启;配置备份和恢复;日志备份
二、 可修改性战术
1)功能模块划分独立,封装变化点,降低模块依赖性,接口保持不变,能够适应需求变更,需求变更只需做局部化少量修改;
2)使用ODBC操作数据库;
3)采用配置文件,使得用户可灵活设置想要的功能;
4)防止连锁反应,即修改一个错误导致另一个错误的产生,通过代码复查、单元测试、QA