浅议微服务架构档案信息系统建设

发布时间:2024-03-07 14:30:46被阅览数:284 次信息来源:《四川档案》

  □韩玮

  1  引言

  近年来,在国家信息化发展“互联网+”战略实施的大背景下,物联网、云计算、大数据、人工智能、5G、区块链等新技术应用飞速发展。党和政府对于政务公开与服务便民提出了越来越高的要求,社会对于政府的公共服务能力也产生了更多的期待。特别是二十大报告中,明确指出“要完善网格化管理、精细化服务、信息化支撑的基层治理平台,健全城乡社区治理体系,提高市域社会治理能力”。档案事业作为国家治理体系的重要组成部分,也需积极跟进,在档案资源治理、档案服务能力上跟上国家的脚步。

  2  档案信息系统建设现状

  档案信息系统建设作为连接用户与档案数字资源的纽带,不仅是激活档案资源建设与利用的关键,也是全国各级综合档案馆在信息化建设方面标准差异化最大的部分,虽有《数字档案馆建设指南》《数字档案馆系统测试办法》《电子档案管理系统通用功能要求》等标准要求作为指引,但以上文件更偏重于为档案行业信息化建设进行宏观指导,具体到各级档案馆,还需因地制宜的开展信息化建设工作。

  因此,在全国出现了各种类型、各种规模、各种用途的档案信息系统,大家对于信息系统建设的技术路线、整体框架、系统设计思路等迥然有别,后期出现的使用问题也是各不相同,出现了不少经验与教训。其实这种争论实属平常,因为信息系统建设其实是利用信息技术手段重塑业务逻辑,只要各单位的档案资源规模、人员技术水平与人力保障程度、建设经费不同,则会导致各档案部门虽然都用信息技术手段改造传统档案业务,但具体的刚性需求不同,系统就会呈现差异化,产生的问题也自然不会相同。

  其实,可以借鉴一下当前信息技术发展的前沿领域,为档案行业信息化建设提供他山之石。在软件行业,当前存在两种主流架构:单体式架构与分布式架构。微服务架构则是分布式架构中最具代表性与前沿性的一种技术架构,也是当前大型信息系统建设的重要的发展趋势。这一趋势,不仅对IT产业的发展影响非凡,对档案行业的信息系统建设,都有着非常重要的前瞻性的影响。微服务架构与传统的单体软件架构代表着IT产业处理软件开发方式的一个根本性转变,华为、Google、阿里等公司均已成功进行转变。但是,与传统的单体架构相比,微服务的优势是什么呢?本文将从档案行业信息系统建设的角度,将单体式架构与微服务架构进行简单的对比分析,探讨档案信息系统建设中其他技术框架的可能性。

  3  传统档案信息系统架构优缺点分析

  传统的基于网络的档案信息系统多采用BS开发方式,这种方式一般被称为单体式架构。所有的功能打包在一个包里(如WAR),部署在一个容器(如:Tomcat、JBoss、WebLogic等)中,包含了数据对象(DO)、数据访问对象(DAO)、服务(Service)、用户界面(UI)等所有逻辑,除容器外基本没有外部依赖。

  单体式架构存在诸多优点,如开发成本相对较低;便于快速开发,可集中式管理;基本不会重复开发;硬件资源集中,功能都在本地,没有分布式的管理和调用消耗等(由于存在时间较长且用户群体较多,此处不再赘述其优点)。但也存在以下缺点:

  3.1  单节点复杂性高

  整个项目由于包含的模块非常多,存在模块的边界模糊、依赖关系不清晰、代码质量参差不齐等问题。整个项目非常复杂到达一定阈值后,系统的功能扩展及修改漏洞都会存在较大风险。

  3.2  运维困难

  随着时间推移、需求变更和开发人员更迭,会逐渐形成应用程序的技术债务且越积越多。由于系统耦合度高且异常复杂,已使用的系统设计或代码难以修改,因应用程序的其他模块的使用逻辑不清,贸然修改存在隐性调用模块存在系统瘫痪的风险。

  3.3  扩展能力弱

  单体架构的系统耦合程度高,只能作为一个整体进行扩展,单业务模块的伸缩性与开放性弱,且极度依赖源码持有者的配合。因此,在系统扩展时会遇到诸多问题:一是系统扩展必须有源码持有者的重度参与,使用者无法独立对系统进行扩展;二是出于系统稳定性考虑,在系统交互访问量不确定的情况下可能出现无法预知的风险;三是受制于前期系统建设规模、硬件性能等因素,对于高并发、访问量弹性较大业务需求可能无法满足。

  3.4  技术迭代速度慢

  单体框架基本上使用统一底层技术平台或方案,需要建设团队必须使用相同的开发语言和架构,在同一个框架下解决项目所有问题。而系统建成后,不管是引入新的架构、嵌入式开发方式或其他技术手段都非常困难,不利于信息系统的技术迭代升级。

  4  微服务系统架构的优缺点分析

  由于单体架构的缺陷日益明显,所以越来越多的大中型信息系统采用微服务架构范式解决上面提到的单体架构中的问题。不同于构建单一、庞大的应用,微服务架构将应用拆分为一套小且互相关联的服务。

  4.1  微服务架构的概念

  微服务架构(Microservice Architecture)是一种架构概念,旨在通过将功能分解到各个离散的服务中以实现对解决方案的解耦。你可以将其看作是在架构层次而非获取服务的类上应用很多SOLID原则。微服务架构是个很有趣的概念,它的主要作用是将功能分解到离散的各个服务当中,从而降低系统的耦合性,并提供更加灵活的服务支持。其目的是为了有效的拆分应用,实现敏捷开发和部署。

  4.2  微服务架构的具体特征

  微服务架构的信息系统是由一系列的独立的服务共同组成系统集合,采用分布式架构且非常强调隔离性,可独立开发单独部署,进行分布式管理与使用。因此微服务架构存在诸多优点,如:

  4.2.1  适用于中大型复杂及高性能应用

  系统建设采用强服务个体和弱通信,建设一批强内聚、低耦合的微服务点,服务之间通过一些轻量的通信机制进行通信(如RESTAPI)。因此,对于大型复杂应用,可对业务解耦后分步骤进行拆分建设,采取持续性发布和部署的策略,通过DevOps的方式开发建设,经过多次反馈迭代,在关键服务个体上快速达成用户需求,单次开发风险低且部署快,后期扩展容易。对于高性能应用(如海量档案数据格式转换、检测等),通过将服务请求进行分拆处理,有效减轻了单点的服务压力,并将算力密集型应用和内存密集型应用部署到不同机器,加上负载均衡管理,可有效解决各类高算力请求,对于需求的变化也可通过扩展算力资源和内存资源服务节点来快速解决。

  4.2.2  系统耦合程度低

  服务节点可以单独部署,与系统内其他服务的联系性不强,统一数据一致性后可以对多平台、各类系统、各类客户端提供标准化服务支撑,单点服务建设价值高且潜力巨大。

  4.2.3  易于维护

  单个服务节点代码量较少、服务单一、开发速度快,后期对服务响应单独进行检测即可获取服务运行状态,故障点容易判断且维护难度较低。

  4.2.4  容错性强

  由于采用分布式架构,单个服务节点的负载压力较小,不易出现故障;系统可将关键节点做冗余配置,如故障后系统自动切换服务节点,整体性崩溃的概率较小,检测也相对便捷。

  4.2.5  微服务架构存在的问题

  微服务架构虽然优点非常突出,但也存在一些问题,如:开发成本比单体式架构更高;分布式系统带来的复杂性使得开发、测试和部署都增加难度;运维投入更高,在单体架构中只需要保证一个应用的正常运行。而在微服务中,需要保证数个服务的正常运行与协作;资源调度存在一部分性能损耗;数据的一致性不好维护等。因此,微服务架构并不适用于所有的信息系统,而更加偏向于中大型复杂信息系统,特别是对扩展性有较高要求的系统。

  5  总结

  如何让档案信息系统与当前及今后的电子政务系统中实现完全意义上的信息互通,如何在确保安全的情况下最大限度的服务社会,是摆在档案行业面前的一道难题。而需求的复杂性与严苛的安全性要求使得构建复杂的应用变得非常困难。单体式的架构更适合轻量级的简单应用,如用它与开发复杂应用,则力有不逮,但这却是档案行业当前普遍存在的现状。微服务架构模式可以用来构建复杂应用,但对各档案部门的建设经费、技术能力和管理人员都提出了更高的要求。

  ■作者单位:四川省档案馆