博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
系统架构设计笔记(41)—— 系统过渡计划
阅读量:1903 次
发布时间:2019-04-26

本文共 1066 字,大约阅读时间需要 3 分钟。

当新系统似乎开发完毕,要取代原来的系统时,系统过渡就是设计者不得不面对的问题。

1 问题

这个问题,不幸的是,比许多人想象得要复杂,和软件开发一样,存在着许多冲突和限制。例如,费用 、 客户关系 、 后勤保证和风险等。设计者需要考虑的问题也很多,其中比较重要的几个问题是:

  1. 如果同时运行两个系统,会给客户造成多大的开销;
  2. 如果直接运行新系统,客户面对的风险有多大;
  3. 对新系统试运行时的查错和纠错,以及出现严重错误而导致停止运行时的应急措施;
  4. 客户运行新系统将面临的不利因素有哪些;
  5. 人员的培训。

使用不同的系统过渡方案意味着不同的风险,不同的费用及不同的复杂度。

2 系统过渡方案

使用不同的系统过渡方案意味着不同的风险,不同的费用及不同的复杂度。

(1)直接过渡

这是一种快速的系统过渡方式,当新系统运行时,立即关闭原来的系统。这种过渡方式非常简单,没有后勤保障的问题,也不要消耗很多资源。同时,它也意味着大风险,目标系统的特性决定了风险的大小。设计者主要要权衡当新系统失败时,系统停止运行或者勉强运行给客户带来的损失有多大。由于这种过渡方式简单而费用低廉,对于可以容忍停机一段时间的系统的实践者,可以采用这种方式。

(2)并行过渡

设计者采用并行过渡方式,让新系统和旧系统在一段时间里同时运行,通过这样的旧系统作为新系统的备份,可以大大降低系统过渡的风险。可是并行过渡显然比直接过渡要消耗更多的资源:现有的硬件资源必须保证能同时跑两套系统,这常常意味着增加服务器和额外的存储空间,需要增加人员来同时使用两套系统,或者增加现有员工的工作量,让他们同时操作两套系统。这种方式同时也增加了管理和后勤保障的复杂度。

据统计,并行过渡时期的开销是旧系统单独运行时的 2.5 ~3倍。设计者还会发现有些系统无法使用并行过渡的方式,主要是客户没有足够的资源来维持两个系统同时运行,另外一种情况是新 、 旧系统差别太大,旧系统的数据无法为新系统采用。

当客户无法使用并行过渡,又想尽可能地减少风险,设计者可以使用部分并行过渡的策略,使并行的开销减少到客户能够接受的范围内。

(3)阶段过渡

通常在系统非常复杂 、 过于庞大以至于无法一次性进行过渡时采用,也适用于分阶段开发的系统。设计者需要设计一系列步骤和过程来完成整个系统的过渡,这种过渡方式和系统的复杂程度相关,随着系统的不同往往有很大的不同。和并行过渡一样,阶段过渡也能够减少风险,显然局部的失败要比全体的失败更容易接受,带来的损失更小。阶段过渡也带来了复杂性,有时候比并行过渡更加复杂。

转载地址:http://wydcf.baihongyu.com/

你可能感兴趣的文章
python 在安装第三方库时候 怎样使用国内镜像源 实现快速下载
查看>>
python 爬取龙岭迷窟视频 对于视频格式m3u8 下载多个ts文件 合并成MP4
查看>>
python 如果遇到爬取解析到得文本为 style="display: none" 没有找到相关内容该怎样解决 修改文本属性获取新的内容
查看>>
python 爬取百度地图api数据
查看>>
python 中virtualenv Virtualenvwrapper命令使用 虚拟环境在cmd创建怎样配置安装
查看>>
MySQL 数据库在dos命令下的基本操作
查看>>
MySQL 学习文档 和安装步骤
查看>>
在Scrapy中怎样把数据储存到Mysql 或者Redis中
查看>>
python 在爬虫中怎样把数据添加到excle样式中
查看>>
Scrapy框架介绍和简单创建使用
查看>>
python 爬虫中selenium 爬取数据 csv储存思路加代码
查看>>
python 爬虫 网易云音乐 抓取
查看>>
Django 项目基础的部署步骤流程
查看>>
Django restful framework (drf)环境配置 drf和Djano中的请求和响应的区别
查看>>
python 爬取天猫店铺商品评论
查看>>
python 斗鱼弹幕的爬取一(selenium)
查看>>
使用相对对导入 导包报红问题
查看>>
UnicodeEncodeError: ‘ascii‘ codec can‘t encode characters in position 116-117: ordinal not in range
查看>>
ModuleNotFoundError: No module named ‘pip‘
查看>>
美女图片爬虫实例 全代码 爬虫
查看>>