摘要XX年初本人所在公司承接了某军工集团下属素质教育部门的视频网站优化升级改造项目该网站用于向全国中小学生提供国防教育类视频课程。集团的素质教育部门定期制作各类国防教育课程资源上传网站学校用户根据实际情况选择视频进行课堂教学用。旧版网站建于XX年基于若依开发框架使用SpringBootVue前后端分离技术及Nginx负载均衡技术具有学校用户登录、视频播放、视频课程上传、后台管理四大功能运行于国防内网DMZ区超融合一体机CentOS云服务器上。该网站建设初期基本满足使用要求但随着用户数量的增长各种性能、安全性、可扩展性等问题愈发突出需要升级改造。本人担任该项目的系统分析师在改造项目开始之初首先全面评估了遗留系统并选择了合适的演化策略用以指导后续工作。正文一、本项目概述XX年为了在广大中小学生间普及大国重器知识提升科技素养培养爱国主义精神某军工集团下属素质教育部门决定开发一套教育类视频网站用于中小学素质教育课堂。该网站旧版具有学校用户登录、视频播放、视频课程上传、后台管理四大功能。在政府部门安排下军工集团素质教育部门定期制作各类国防教育课程资源上传网站学校用户根据实际情况选择视频进行课堂教学用。系统管理人员可以在后台配置系统各类信息监控服务器资源使用情况及网站运行情况。网站采用了若依低代码开发框架SpringBoot版及Vue前后端分离技术该技术栈可以用于快速搭建前后端分离的Web应用程序。网站整体运行于国防内网DMZ区超融合一体机CentOS云服务器上前端为双节点Nginx轮询负载均衡集群各类视频课程存储于双节点MinIO分布式文件系统。此外网站还使用了MySQL读写分离技术与Redis缓存数据库。某军工集团是第一次承接教育工作因此先选择北京、济南、西安、杭州、成都、广州6座城市6所重点中小学300余个班级进行试点。旧版网站基本满足日常教学需要但随着业务的全面铺开旧版网站问题日益显现主要表现为性能低下超过80个班级同时上课后端服务器宕机难以扩展单节点后端只能不断扩大云服务器资源到达一定上限就无法再继续优化安全保障难度高大量外网访问请求频繁进入国防内网隐患大亟需升级改造。本人担任该项目的系统分析师。在项目建设初期本人深知对于这样一个大并发改造项目遗留系统的评价和演化策略的选择是重中之重。二、遗留系统评价的主要活动及演化策略遗留系统主要通过两类指标来评价——技术水平和业务价值按照两类指标的不同可划分为四类低技术水平低业务价值、低技术水平高业务价值、高技术水平高业务价值、高技术水平低业务价值。对于遗留系统不同的分类通常采用不同的演化策略。低技术水平、低业务价值类即遗留系统的技术含量较低且具有较低的业务价值。对这种遗留系统的演化策略为淘汰即全面重新开发新的系统以代替遗留系统。完全淘汰是一种极端性策略一般是企业的业务产生了根本变化遗留系统已经基本上不再适应企业运作的需要或者是遗留系统的维护人员、维护文档资料都丢失了。经过评价发现将遗留系统完全淘汰开发全新的系统比改造旧系统从成本上考虑更合算。对遗留系统的完全淘汰是一种资源的浪费一般并不建议采用。低技术水平、高业务价值类即遗留系统的技术含量较低已经不能满足企业运作的功能或性能要求但具有较高的商业价值目前企业的业务尚紧密依赖该系统。这种遗留系统的演化策略为继承。在开发新系统时需要完全兼容遗留系统的功能模型和数据模型。为了保证业务的连续性一般建议新老系统必须并行运行一段时间再逐渐切换到新系统上运行。高技术水平、高业务价值类即遗留系统的技术含量较高本身还有极大的生命力。系统具有较高的业务价值基本上能够满足企业业务运作和决策支持的需要。这种系统可能建成的时间还很短这种遗留系统的演化策略称为改造。改造包括系统功能的增强和数据模型的改造两个方面。系统功能的增强是指在原有系统的基础上增加新的应用要求对遗留系统本身不做改变数据模型的改造是指将遗留系统的旧的数据模型向新的数据模型的转化。高技术水平、低业务价值类即遗留系统的技术含量较高但其业务价值较低可能只完成某个部门(或子公司)的业务管理。这种系统在各自的局部领域里工作良好但对于整个企业来说存在多个这样的系统不同的系统基于不同的平台、不同的数据模型形成了一个个信息孤岛。对这种遗留系统的演化策略称为集成。上述遗留系统评价及演化策略为通用方法真正工程实施时需根据具体情况在即保护现有投资又满足未来需求的情况下合理选取。三、本项目遗留系统评价、演化策略选择的实施过程及应用效果我们对旧网站进行了全面的分析。旧版网站采用若依框架该框架比较先进支持多种主流Web架构。旧网站用户登录、视频播放、视频课程上传、后台管理四大功能划分贴合业务实际表现层为了应对大流量使用了Nginx负载均衡但后端业务逻辑为一个单节点存储层采用了NoSql数据库MinIO与关系型数据库结合的方式MinIO虽然部署简单可兼容多种操作系统但大并发能力不足。关系型数据库中各类表的设计满足三范式要求旧网站运行在国防内网的超融合一体机上民用系统运行其上本身就会带来极大安全隐患。当前无论学校用户还是素质教育部门用户开展国防教育工作均依赖本网站。综上分析在大并发情况下旧版网站一分部分核心设计已经落后但各用户仍然依赖它开展工作属于低技术水平、高业务价值类。对于此类系统一般应选用继承的演化策略即保留合理部分改进不适合新需求的部分。继承方面旧版网站的功能模型即功能块的划分符合业务实际应当保留MySql中各类关系型数据表即数据模型设计基本合理大部分保留。网站整体没必要重新开发优化改造时旧网站若依开发框架的技术选型保留。整个前端负载均衡架构可应对大并发流量应完全保留。改进方面首先经与用户协商该网站各类数据属于军转民用保密级别不高因而我们将网站重新设计为阿里云部署进而后端选用若依SpringCloud版进行微服务化升级将网站四大功能全部改造为微服务集群。单点Tomcat默认QPS为150可依此作为判断节点数量的依据。经实验前端与登录设置4节点播放设置8节点可保证600个班级同时使用且可以根据情况扩展。流量负载较大的播放节点采用CPU性能较强的4核8G通用算力型云服务器其它节点采用普通的4核8G经济型云服务器最后我们放弃了MinIO选用了2节点GlusterFS集群供所有播放服务共享该集群在大并发时性能、可靠性更佳。同时为了提升各微服务对结构化数据的存取效率我们直接购买了RDS版MySQL和Redis该类数据库专为云端设计可按需扩容。一般采用继承策略演化的系统新旧系统应并行运行一段时间但是用户的使用有一个重要的场景每学年在开学第一课各学校往往会集中进行国防教育课程教学这就会导致该视频网站会像电商“6.18”、“双11”那样出现瞬时高峰流量此时旧版网站完全不能使用并不具备与新系统并行的条件因而我们采用了直接切换的策略。按技术水平与业务价值来分析遗留系统这种方法本身科学合理基本能适用于绝大部分的数字化系统效果良好。这种方法有效指导了本系统的优化改造。但是理论毕竟属于通性通法结合具体实际往往会进行局部修改。如在本项目中就无法想书上说的那样采用并行运行的策略而要采用直接转换的策略。