软件可靠性的一些关注点
本文算是对最近遇到的软件可靠性问题的一个小结,从非功能层面考虑。市面上好像还没有一本关于软件可靠性方面的权威书籍,所以不知写的是否准确详尽。
1. 冗余
系统中的任何部分都需要有冗余,即不存在单点故障,网络链路、服务器主机,再到软件层面的各功能模块,都应具有冗余,保证在系统中出现一个故障点后,可以马上切换到另一处完成任务。现在互联网的数据量大,并发高,一般都会采用负载均衡集群的策略,要做好系统监控检查,笨点的就是ping,另外可通过应用层面去检查。还有就是双机热备的策略,好像一些商用软件这样会比较省license费用。系统再大一点,或许还要考虑异地容灾。
这些应该都是在系统设计、组网层面的,具体到软件模块,可能也就跟数据库有点关系,不过只要存储系统用个raid之类的,也不用在应用层关心太多。
2. 独立的备份与恢复系统
这算是前面一条的补充吧,备份恢复是在应用层面对业务数据的保护,各数据库产品都有自己的一套备份恢复方案,网上资料也一大把。应用程序需要备份吗?大概保留一个安装程序就差不多了吧,版本别搞错了。
3. 无处不在校验
代码中的函数参数校验不用多说,健壮的代码必须具有的特性。更加要注重模块间、平台间接口的参数校验,以及校验失败时的异常处理。
对于分布式系统,少不了数据的一致性校验,怎么校验就要看系统的实际情况,这与系统的数据同步机制有关系,当然至少还是要保证数据在校验规格上是能通过的。用数据库同步会比较简单,但是会消耗性能,更好的方案是内存中的会话同步。
4. 独立的系统监控、告警与恢复
好像现在是个软件都有提供一个独立的监控系统。监控的内容应该要有个checklist,系统部件的状态那是必须监控的,比如哪个服务器宕机了,那就让它重启下,哪个进程挂了,也得去拉它一把。系统资源参数也是应该监控的,如CPU、内存、IO,还应该有跟系统性能关系紧密的监控项,比如吞吐率、响应时间等。当然,还要监控与业务强相关的内容。监控项的checklist不太可能一蹴而就,以后慢慢加吧。
5. 日志系统
日志的作用是对系统的操作有一个记录,方便找出系统问题所在,要警惕异常情况下的超大日志。
6. 系统流量控制
避免出现过大的访问压力,把系统压垮了,底线就是系统不挂。笨点的办法,系统压力超过一个阈值就直接拒绝服务,用户你就下次再试吧,举个例子,各游戏平台的房间人数上限。当然,已在进行中的会话是不能中断的。其他更好的办法,暂时还不是很了解,大概也还是要跟系统实际架构结合吧。
7. 升级、扩容
尽量让用户感觉不到系统在升级、扩容,当然客户端升级那是没办法了,这也是C/S架构系统的一个劣势。
转载于:https://www.cnblogs.com/todsong/archive/2012/04/11/2441614.html
软件可靠性的一些关注点相关推荐
- ★核心关注点_《信息系统项目管理师考试考点分析与真题详解》
★核心关注点_<信息系统项目管理师考试考点分析与真题详解> 真诚感谢你选用<信息系统项目管理师考试考点分析与真题详解>作为高级项管的辅导用书.对于使用该书的读者们,在备考201 ...
- Java之父接受Evrone专访:您需要的软件可靠性越高,静态类型语言的帮助就越大...
每一次重大更改都会在开发人员社区中引发痛苦.如果您的开发人员不多,那么破坏性更改不是大问题.而且您还必须考虑成本效益的权衡.如果你做一个突破性的改变,它会增加一些痛苦,但也会带来一些好处. James ...
- 后端缓存的23个关键关注点
来自:技术琐话 ▌1:极简缓存架构 通过JSR107规范,我们将框架定义为客户端层.缓存提供层.缓存管理层.缓存存储层.其中缓存存储层又分为基本存储层.LRU存储层和Weak存储层,如下图所示. 缓存 ...
- 分布式系统关注点:弹性架构
点击蓝色"程序猿DD"关注我哟 来源:跨界架构师 如果我们的开发工作真的就如搭积木一般就好了,轮廓分明,个个分开,坏了哪块积木换掉哪块就好了.但是,实际我们的工作中所面临的可能只有 ...
- 分布式系统关注点:无状态
来源:跨界架构师 初识「状态」 之前在「负载均衡」中提到过一个例子,我们再翻出来一下. 开发Z哥对运维Y弟喊:"Y弟,现在系统好卡,刚上了一波活动,赶紧帮我加几台机器上去顶一下." ...
- 软件性能测试关注点,盘点性能测试必须掌握的技术点
前段时间,有一些小伙伴提出希望我们推送点性能测试的技术干货.所以,小编今天通过上网查资料,结合项目实操过程中的一些问题,总结了一些关于性能测试的内容,希望是大家想要了解的内容哈. 1.性能测试的目的 ...
- 《信息系统项目管理师软考辅导——3年真题详解与全真模拟》主要创新点、关注点...
<信息系统项目管理师软考辅导--3年真题详解与全真模拟>主要创新点.关注点 新增2014年5月.11月两份真题试卷的360°透彻解析: 更新2013年5月.11月真题试卷的解析: 紧扣考纲 ...
- (5.17更新)2011.5.21项管考试论文关注点
2011.5.21信息系统项目管理师考试论文关注点 对于使用<信息系统项目管理师考试案例梳理.真题透解与强化训练>和<信息系统项目管理师考试考前冲刺预测卷及考点解析>的读者,在 ...
- 2011.5.21信息系统项目管理师考试案例关注点
2011.5.21信息系统项目管理师考试案例关注点 对于使用<信息系统项目管理师考试案例梳理.真题透解与强化训练>的读者,在备考2011.5.21信息系统项目管理师考试之下午I案例分析考试 ...
- 数据中心液体冷却技术的五个主要关注点
传统上,在建立一个新的数据中心时,大约35%的资本支出将用于冷却设备,而这些冷却设备的运营成本占数据中心运行费用的50%. 如今,服务器的功能越来越强,能耗也越来越大,因此数据中心的热负载不断增加,这 ...
最新文章
- java微信oppo,OPPO实现全球首次5G微信视频通话,国产手机满分操作
- 提高网站有效流量从三个方面出发
- CWDM/DWDM是城域网最好的选择吗?
- 解读服务器虚拟化的十大误区
- Power of Two
- java学习类的笔记
- 关于json_decode乱码及NULL的解决方法
- HDU 3473 Minimum Sum
- RESTful 架构风格概述
- 平顶山学院java实验室_重点学科(实验室)建设规划
- CVE-2017-10271 WebLogic XMLDecoder反序列化漏洞
- java 通过经纬度计算巨鹿,中国主要城市经纬度查询
- 五子棋游戏程序禁手设置算法(C语言源码)
- 移动开发者必须了解的10大跨平台工具
- VM VirtualBox Centos6.5安装Oracle 11g r2 RAC
- CS5211 eDP转LVDS转换器芯片 CS5211芯片说明书
- 能否被2整除引发的思考
- android控件显示在最上层,「总是可见的时钟和备忘录」永远显示在屏幕最上层的贴心助手(Android)...
- python每日学4:vscode的安装与基础使用
- 序列化之Serialize