可靠性分析与设计
1、负载均衡技术分类:
①基于http 的负载均衡。
根据用户的 http 请求计算出一个真实的 web 服务器地址,并将该 web 服务器地址写入http 重定向响应中返回给浏览器,由浏览器重新进行访问。
优点: 比较简单
缺点:浏览器需要两次请求服务器才能完成一次访问,性能较差。
②基于 DNS 的负载均衡。
优点:将负载均衡的工作交给了 DNS,省却了网站管理维护负载均衡服务器的麻烦,同
时许多DNS 还支持基于地理位置的域名解析,将域名解析成距离用户地理最近的一个服 务器地址,加快访问速度,改善性能。
缺点:目前的 DNS 解析是多级解析,每一级 DNS 都可能化缓存记录,当某一服务器下线
后,该服务器对应的 DNS 记录可能仍然存在,导致分配到该服务器的用户访问失败。负 载均衡效果并不是太好。
③基于 NAT (Network Address Translation,网络地址转换) 的负载均衡。
将一个外部 IP 地址映射为多个内部 IP 地址,对每次连接请求动态地转换为一个内部节点的 地址,将外部连接请求引到转换得到地址的那个节点上,从而达到负载均衡的目的。 优点:在响应请求时速度较反向服务器负载均衡要快。
缺点:当请求数据较大 (大型视频或文件) 时,速度较慢。
④反向代理负载均衡。
优点:部署简单,处于 http 协议层面。
缺点:用了反向代理服务器后,web 服务器地址不能直接暴露在外,因此 web 服务器不
需要使用外部 IP 地址,而反向代理服务作为沟通桥梁就需要配置双网卡、外部内部两 套 IP 地址。
系统维护
1、遗留系统
遗留系统 (Legacy System) 是指任何基本上不能进行修改和演化以满足新的变化了的业务 需求的信息系统,它通常具有以下特点:
(1) 系统虽然完成企业中许多重要的业务管理工作,但仍然不能完全满足要求。一般实现 业务处理电子化及部分企业管理功能,很少涉及经营决策。
(2) 系统在性能上已经落后,采用的技术已经过时。例如,多采用主机/终端形式或小型机 系统,软件使用汇编语言或第三代程序设计语言的早期版本开发,使用文件系统而不是数据 库。
(3) 通常是大型的软件系统,已经融入企业的业务运作和决策管理机制之中,维护工作十 分困难。
(4) 没有使用现代信息系统建设方法进行管理和开发,现在基本上已经没有文档,很难理 解。
2、遗留系统的演化策略
编辑
改造策略 | 继承策略 | 淘汰策略 | 集成策略 |
---|---|---|---|
改造包括系统功能的 | 在开发新系统时,需 | 全面重新开发新的系 | 采用企业应用集成的 |
增强和数据模型的改 造两个方面。系统功 能的增强是指在原有 系统的基础上增加新 的应用要求,对遗留 系统本身不做改变; 数据模型的改造是指 将遗留系统的旧的数 据模型向新的数据模 型的转化。 | 要完全兼容遗留系统 的功能模型和数据模 型。为了保证业务的 连续性,新老系统必 须 并 行 运 行 一 段 时 间,再逐渐切换到新 系统上运行。 | 统以代替遗留系统。 | 方式进行系统集成。 |
---|
3、新旧系统转换策略
(1) 直接转换策略
直接转换就是在原有系统停止运行的某一时刻,新系统立即投入运行,中间没有过渡阶段。 采用这种方式时,人力和费用最省,适用于新系统不太复杂或现有系统完全不能使用的场合, 但是,新系统在转换之前必须经过详细而严格的测试,转换时应做好准备,万一新系统不能 达到预期目的时,必须采取相应措施。
(2) 并行转换策略
并行转换就是新系统和现有系统并行工作一段时间,经过这段时间的试运行后,再用新系统 正式替换下现有系统。在并行工作期间,手工处理和计算机处理系统并存,一旦新系统有问 题就可以暂时停止而不会影响现有系统的正常工作。
(3) 分段转换策略
分段转换策略也称为逐步转换策略,这种转换方式是直接转换方式和并行转换方式的结合, 采取分期分批逐步转换。一般比较大的系统采用这种方式较为适宜,它能保证平稳运行,费 用也不太高;或者现有系统比较稳定,能够适应自身业务发展需要,或新旧系统转换风险很 大 (例如,在线订票系统、银行的中间业务系统等) ,也可以采用分段转换策略。 4、软件维护
在系统运行过程中,软件需要维护的原因是多样的,根据维护的原因不同,可以将软件维护 分为以下4 种:
①改正性维护。
为了识别和纠正软件错误、改正软件性能上的缺陷、排除实施中的误使用, 应当进行的诊断和改正错误的过程就称为改正性维护。
②适应性维护。
在使用过程中,外部环境 (新的硬、软件配置) 、数据环境 (数据库、数据 格式、数据输入/输出方式、数据存储介质) 可能发生变化。为使软件适应这种变化,而去 修改软件的过程就称为适应性维护。
③完善性维护。
在软件的使用过程中,用户往往会对软件提出新的功能与性能要求。为了满 足这些要求,需要修改或再开发软件,以扩充软件功能、增强软件性能、改进加工效率、提 高软件的可维护性。这种情况下进行的维护活动称为完善性维护。 ④预防性维护。这是指预先提高软件的可维护性、可靠性等,为以后进一步改进软件打下良 好基础。通常,预防性维护可定义为“把今天的方法学用于昨天的系统以满足明天的需要”。 也就是说,采用先进的软件工程方法对需要维护的软件或软件中的某一部分 (重新) 进行设 计、编码和测试。