论文-论软件架构的选择

摘要

写出自己试做什么的,什么系统,采用论点对系统有什么好处,系统最后稳定运行。

2015年初,我所在的公司承担了某集团公司的移动信息化开放平台的建设工作。我在该项目中单人系统架构设计师的职务,主要负责设计平台系统架构和安全梯架构。该平台以移动信息化发展为契机,采用“平台+应用”的模式解决现有应用的集中移动化需求。凭条整体的逻辑复杂,对系统的高可用和高扩展能力提出了较高的要求。

本文以平台系统架构为例,讨论了软件架构的选择和应用。在该项目中,我结合实际需求,从开发和维护难度、安全性、稳定性和扩展能力等方面综合衡量,为平台选择了具有表现层、业务逻辑层、数据访问层的三层分层架构。平台的研发耗时10个月,目前,系统已稳定运行了近两年的时间,实践证明,这种架构设计有效的降低了系统的维护和开发的成本,增强了系统的安全性、提高了系统稳定性和拓展能力。

正文

这一段写的有点乱,主要是介绍项目背景,项目的难度,和结合论点进行论述

随着移动信息技术化技术的迅猛发展,我所在的某集团公司在信息化建设中发现,随着业务系统移动化的需求越来越多,内部移动应用的数量也随之激增,使用起来十分繁琐。为了解决这一问题,集团制定了移动信息化发展的战略,根据这一战略要求,移动信息学和开放平台营运而生。2015年初,我所在的分公司承担了集团移动信息化开放平台(一下简称MIOP)的建设工作,我有幸参与了项目前期的一些工作,担任系统架构设计师的职务,主要负责设计平台系统架构和安全体系架构。MIOP采用“平台+应用“模式,立足于集团总部管理域各应用,覆盖全国各省份应用,实现移动应用的统一入口,统一认证、统一鉴权、统一管理,将总部与省份的各种有移动化需要的应用进行有效的整合,降低了集团内部移动应用的使用难度,使用户可以在无感知的在多个应用之间进行切换使用。平台的主要用户是集团全国40多万管理域的员工,其中首要保障的是集团领导和省份领导对移动应用的使用,奇珍涉及公文管理、合同管理、财务报账、ERP和CRM等多个复杂系统,业务流程复杂,系统可靠性和可扩展性要求比较高,影响的范围比较广。在部署模式上MIOP采用集团统一私有云集中部署,各省份系统与MIOP做网络对接,是一个典型的跨城际系统。在系统认证上采用既有4A系统结合自建应用商店作为权限入口,对使用者的权限进行划分。

结合论点,进行技术的架构选择

作为集团唯一的移动信息化门户,信息的安全是首要的保障任务,同时,用户量级决定了系统必须具有很高的并发能力,其“平台+应用”的特点又决定了系统必须具有很好的扩展能力,考虑到现有部署资源和管理团队的开发能力,为了降低系统的维护和开发难度,提高系统的稳定性、可扩展性,我通过技术研讨和讨论分析,为平台选择了具有表现层、业务逻辑层、数据访问层的三层分层架构。下面我从提高安全性、降低开发和维护成本、增强系统稳定性的三个主要方面出发,结合实施之后的实际效果总和分析选择三层架构的原因。

从安全性进行分析

第一,从平台安全层面出发,三层架构可以更好地提升系统的安全性。平台存储了集团管理域40多万用户的个人信息,流经平台的应用数据包含合同、客户管理等敏感信息,信息系统的安全是十分重要的,集团领导在系统安全性上也是最为重视。在数据隔离方面,三层结构的数据访问是自上而下、层层隔离的,表现层只能通过业务逻辑层访问数据层,相对于单层或双层系统,系统的数据访问大大减少,数据的安全性得到了提高。在安全接入方面,三层架构将客户端与服务器的通信集中到表现层与业务罗机场的通信上,这就使得针对这部分通讯链路的安全增强手段就可以有效的提高整体系统的安全性,如通过 HTTPS、 VPN 加强通信安全,又如将只涉及接入的部分服务放入 DMZ,而系统的主要业务处理和数据交换由防火墙与外网隔离,这些技术手段都是很好的借助分层架构的业务隔离特点更好的提高系统的安全性。事实上,由于三层架构所带来的多种安全手段的可行性,MIOP除部分操作系统的安全漏洞修复外,平台整体的安全体系得到了集团信息安全部门的认可,顺利通过了安全监测,运行至今,从未发生过安全生产故障。

从开发和维护方面进行分析

第二,从开发和维护的需要出发,三层架构可以有效的降低系统的开发和维护难度。通过实际调查分析,现有项目开发和维护人员的技术能力参差不齐,掌握的技术比较分散,不足以完整的支撑一套复杂系统的开发和维护。在复杂的业务逻辑面前,三层架构可以将系统的具体功能分散,不足以完整的支撑一套复杂系统的开发和维护。在复杂的业务逻辑面前,三层结构可以将系统的具体工农分散到不同的层级,除少数核心人员以外,其他开发、维护人员只需要关心自己所负责层级的实现和保障,相对于单层或者双层的架构,这直接降低了系统的开发和维护的难度。在经常变化的接入需求面前,三层结构可以在各层之间做到很好的业务隔离,相对于单层和双层架构更容易实现服务的标准化,在降低层与层之间的依赖的同时,增强了各层的逻辑复用,各层还可以很方便的使用新的实现方式来替换原有实现方式,或灵活的对现有业务实现进行扩展,这些优点相对于单层或双层架构在新需求的扩展和新应用的接入等方面来说都大大降低开发和维护的难度。十几种,由于三层架构所带来的开发和维护难度降低的优点,在MIOP的开发和维护阶段,超过100款移动应用的接入和大量临时活动的开发、上线都顺利得难以实现,整体开发和维护效率获得极大提高。

从系统稳定性来看,结合论点论述,采用集群方式,保证平滑

第三,从保障系统稳定性方面考虑,三层架构具有更好的扩展能力和可靠性。在扩展能力方面,传统的单层或者双层业务当系统达到并发能力上限从而面临扩容的时候,往往是最难以实现的时候,单层系统通常只能采用增强服务器性能的方式,而双层系统虽然可以横向扩展,但是通常需要在新的节点上完整部署程序来达到扩容的目的。三层系统通过业务的分层处理,各层的业务相对集中,层间数据交换相对简单,可以针对各层分别扩展。系统的主要业务逻辑都集中于业务逻辑层,而该层的业务逻辑实际上可以运行于多台计算设备之中,以支持分布式计算。通过利用网络的计算能力,在提升处理能力的同时,获得更高的扩展能力,结合MIOP所需要部署的云化资源池,通过云计算技术,系统可以通过动态的增加资源来方便的扩展业务逻辑层的运算节点,以加强业务处理能力。在可靠性提高方面,三层架构支持分布式这一特点又可以通过服务动态冗余所带来的更好的扩展能力和稳定性保障了平台的运行,在MIOP上线运行的2年中,系统即使在近期每天近十万访问量的情况下仍然保持了较高的反应时间,系统的资源数量也是从最初的24个云化资源平滑扩展到了目前的53个云化资源点。

结语,系统的运行情况,指出过程中的一些小问题,但是没有写解决办法,有点不足

在架构决策阶段,我所选择的这种架构得到了集团领导的认可和采纳,2015年末,MIOP正式上线运行,至今已稳定运行了接近了两年的时间。系统平稳经历了访问数激增、大量活动的上线、紧急应用接入等复杂运维状况,系统所采用的三层分层架构在降低开发和维护难度、加强平台安全性、提高系统内稳定性、增强扩展能力等方面都发挥了重要的作用,获得了领导和同事的一致好评。但是在系统运行的过程中,我发现这种架构还是存在一些不足。首先是分层结构的多层调用降低了系统的性能。其次是分层所带来的级联修改问题,上层逻辑的修改可能会导致下层逻辑随之修改。分层架构所具有的有点和面临的问题将是我今后在同类系统的架构决策方面需要重点考虑的因素。

附录

  • 版权声明: 本博客所有文章,未经许可,任何单位及个人不得做营利性使用!转载请标明出处!如有侵权请联系作者。
  • Copyrights © 2015-2021 翟天野

请我喝杯咖啡吧~