本文算是对最近遇到的软件可靠性问题的一个小结,从非功能层面考虑。市面上好像还没有一本关于软件可靠性方面的权威书籍,所以不知写的是否准确详尽。

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

软件可靠性的一些关注点相关推荐

  1. ★核心关注点_《信息系统项目管理师考试考点分析与真题详解》

    ★核心关注点_<信息系统项目管理师考试考点分析与真题详解> 真诚感谢你选用<信息系统项目管理师考试考点分析与真题详解>作为高级项管的辅导用书.对于使用该书的读者们,在备考201 ...

  2. Java之父接受Evrone专访:您需要的软件可靠性越高,静态类型语言的帮助就越大...

    每一次重大更改都会在开发人员社区中引发痛苦.如果您的开发人员不多,那么破坏性更改不是大问题.而且您还必须考虑成本效益的权衡.如果你做一个突破性的改变,它会增加一些痛苦,但也会带来一些好处. James ...

  3. 后端缓存的23个关键关注点

    来自:技术琐话 ▌1:极简缓存架构 通过JSR107规范,我们将框架定义为客户端层.缓存提供层.缓存管理层.缓存存储层.其中缓存存储层又分为基本存储层.LRU存储层和Weak存储层,如下图所示. 缓存 ...

  4. 分布式系统关注点:弹性架构

    点击蓝色"程序猿DD"关注我哟 来源:跨界架构师 如果我们的开发工作真的就如搭积木一般就好了,轮廓分明,个个分开,坏了哪块积木换掉哪块就好了.但是,实际我们的工作中所面临的可能只有 ...

  5. 分布式系统关注点:无状态

    来源:跨界架构师 初识「状态」 之前在「负载均衡」中提到过一个例子,我们再翻出来一下. 开发Z哥对运维Y弟喊:"Y弟,现在系统好卡,刚上了一波活动,赶紧帮我加几台机器上去顶一下." ...

  6. 软件性能测试关注点,盘点性能测试必须掌握的技术点

    前段时间,有一些小伙伴提出希望我们推送点性能测试的技术干货.所以,小编今天通过上网查资料,结合项目实操过程中的一些问题,总结了一些关于性能测试的内容,希望是大家想要了解的内容哈. 1.性能测试的目的 ...

  7. 《信息系统项目管理师软考辅导——3年真题详解与全真模拟》主要创新点、关注点...

    <信息系统项目管理师软考辅导--3年真题详解与全真模拟>主要创新点.关注点 新增2014年5月.11月两份真题试卷的360°透彻解析: 更新2013年5月.11月真题试卷的解析: 紧扣考纲 ...

  8. (5.17更新)2011.5.21项管考试论文关注点

    2011.5.21信息系统项目管理师考试论文关注点 对于使用<信息系统项目管理师考试案例梳理.真题透解与强化训练>和<信息系统项目管理师考试考前冲刺预测卷及考点解析>的读者,在 ...

  9. 2011.5.21信息系统项目管理师考试案例关注点

    2011.5.21信息系统项目管理师考试案例关注点 对于使用<信息系统项目管理师考试案例梳理.真题透解与强化训练>的读者,在备考2011.5.21信息系统项目管理师考试之下午I案例分析考试 ...

  10. 数据中心液体冷却技术的五个主要关注点

    传统上,在建立一个新的数据中心时,大约35%的资本支出将用于冷却设备,而这些冷却设备的运营成本占数据中心运行费用的50%. 如今,服务器的功能越来越强,能耗也越来越大,因此数据中心的热负载不断增加,这 ...

最新文章

  1. java微信oppo,OPPO实现全球首次5G微信视频通话,国产手机满分操作
  2. 提高网站有效流量从三个方面出发
  3. CWDM/DWDM是城域网最好的选择吗?
  4. 解读服务器虚拟化的十大误区
  5. Power of Two
  6. java学习类的笔记
  7. 关于json_decode乱码及NULL的解决方法
  8. HDU 3473 Minimum Sum
  9. RESTful 架构风格概述
  10. 平顶山学院java实验室_重点学科(实验室)建设规划
  11. CVE-2017-10271 WebLogic XMLDecoder反序列化漏洞
  12. java 通过经纬度计算巨鹿,中国主要城市经纬度查询
  13. 五子棋游戏程序禁手设置算法(C语言源码)
  14. 移动开发者必须了解的10大跨平台工具
  15. VM VirtualBox Centos6.5安装Oracle 11g r2 RAC
  16. CS5211 eDP转LVDS转换器芯片 CS5211芯片说明书
  17. 能否被2整除引发的思考
  18. android控件显示在最上层,「总是可见的时钟和备忘录」永远显示在屏幕最上层的贴心助手(Android)...
  19. python每日学4:vscode的安装与基础使用
  20. 序列化之Serialize

热门文章

  1. 牛客网-华为-2020届校园招聘上机考试-软件类机考-1
  2. 关于Kendo UI 开发教程
  3. Can't update: no tracked branch No tracked branch configured for branch dev.
  4. 判断字符是否包含有特殊字符
  5. C++中的模板那点事
  6. Android中Service的一个Demo例子
  7. 服务器保持与Mysql的连接
  8. jquery修改带!important的css样式
  9. PHP批量去除PHP文件中bom的代码
  10. secure CRT连接华三、华为模拟器