大数据时代图书馆微服务研究
2023-05-30黄海
摘 要:随着大数据时代的到来,无论是理论研究层面、实际应用层面,还是国家公共文化发展政策层面,均对图书馆微服务研究提出了迫切的要求。文章从微服务概念入手,对不同语境下的图书馆微服务进行了分析,在深入研究图书馆微服务理论和应用实践的基础上,提出了圖书馆微服务架构的设计理念及实施策略,并对微服务在第三代图书馆服务平台及未来智慧图书馆体系建设中的应用进行了思考和展望。
关键词:图书馆;微服务;微服务架构
中图分类号:G250.7 文献标识码:A 文章编号:1003-1588(2023)03-0059-04
1 背景
2014年3月,软件开发领域敏捷开发方法论的首创者马丁·福勒(Martin Fowler)提出了“微服务”概念[1],其核心理念是将复杂应用系统拆解为多个独立的服务,每个服务紧密围绕特定业务形成高度内聚的自治单元,在功能上表现为一个独立的整体;服务与服务之间以松耦合进行连接,以实现敏捷开发和部署[2]。这样的服务被称为微服务,以这种方式搭建的系统架构被称为微服务架构。
随着微服务在计算机科学领域的兴起,图书馆界也开始对微服务开展理论研究和实践探索。在图书馆新技术理论研究层面,聚焦于智慧图书馆体系建设的大量研究认为第三代图书馆服务平台将是由图书馆主导的基于微服务架构、全面支持智慧图书馆应用模式的平台[3]。图书馆引入微服务是其应用系统升级转型的需要,微服务凭借独立部署、动态扩展、快速迭代、按需伸缩等优势,为图书馆实现新型服务提供了有力的技术支撑,通过建立微服务架构,将复杂服务拆分为多个微服务,使图书馆能够提供更加多样化、便捷化、个性化的读者服务,以满足大数据时代读者的需求。
2 文献研究综述
为准确掌握我国图书馆微服务研究现状,笔者在中国知网以“图书馆+微服务”进行主题检索,检索时间为2012—2021年,共检索到2,400篇文献,其中2016年达到最高峰,文献数量超过400篇;为进一步缩小检索范围,又以“图书馆+微服务平台”“图书馆+微服务应用”“图书馆+微服务体系”“图书馆+微服务方式”“图书馆+微服务架构”“图书馆+微服务门户”等进行主题检索,获得1,500篇文献,也以2016年为最高峰,数量超过300篇。
在图书馆微服务研究和实践领域,不同的研究者对微服务有不同的理解,一些研究者认为微服务是一种新媒体服务,新媒体服务语境下的图书馆微服务是以读者为中心,依托各种新媒体平台,通过便捷的移动通信终端为读者提供全方位、精细化、个性化、多媒体的信息服务,如:聂应高认为图书馆微服务是以读者需求为中心,以移动终端为依托,通过各种新媒体平台向读者提供精细化、个性化信息和服务[4];李慧认为图书馆微服务是一种新媒体服务,是图书馆在大数据背景下依托各种社交媒体,通过电脑、手机等设备为读者提供便捷化、多样化、个性化服务的一种方式[5];程聪等认为图书馆微服务是以图书馆综合服务为基础,通过移动设备为读者提供各种服务[6]。另一些研究者则认同马丁·福勒的微服务概念,认为新技术语境下图书馆的微服务在应用层面相互独立,每种服务只负责一项具体业务,每种服务都有独立的进程,各种服务之间通过轻量级通信互相协作配合,在图书馆微服务架构中共同为整个图书馆业务系统提供支撑,如:张宸认为微服务架构是一种全新的软件设计模式,微服务架构可被看作一个组合式的应用程序,其内部存在若干独立微服务模块,每个模块可实现不同的功能[7];肖铮提出微服务是通过对特定业务的分析与建模,将复杂的应用分解为一组小的服务,这些服务具有小而专一、高度自治的特性,通过相互协调、相互配合,为用户提供最终价值[8];谢蓉则认为微服务是一种新的软件系统架构,是将复杂系统彻底组件化,分解成相对独立的单元,相互独立自治,具有逻辑清晰、易扩展、可替代等优势[9]。
3 图书馆微服务概念辨析
3.1 新媒体服务语境下的图书馆微服务
新媒体服务语境下的图书馆微服务具有以下特点:一是即时性,微服务借助互联网技术,不受时间、空间限制,读者能够通过移动终端随时随地获得服务。二是个性化,读者实名认证后即可获得各种个性化的服务。三是精细化,图书馆通过微服务为读者提供手机刷脸办证、读者之间的图书转借等服务。
3.2 新技术语境下的图书馆微服务
新技术语境下的图书馆微服务具有以下特点:一是轻量化,每种服务实现一种单一的功能,专注做好一件事。二是独立性,每种服务都独立部署,使敏捷开发和快速交付成为可能。三是灵活性,由于每种微服务具有独立性,因此不同的微服务可以使用不同的语言和工具进行开发,开发模式更加灵活。四是松耦合性,不同模块间的依赖度低、相互关联度小,系统安全性高。五是可扩展性,每种服务可在不影响其他服务的情况下进行扩展和部署。
3.3 概念辨析
笔者认为,新媒体语境下的图书馆微服务是利用微信、微博、微视频等新媒体进行推广和服务的一个概念,其实质是一种服务模式;新技术语境下的图书馆微服务是以微服务架构为基础的一个综合体系,是一种强调以应用去中心化、服务个性化、独立部署为主要特点的平台架构。新媒体语境下的图书馆微服务和新技术语境下的图书馆微服务一个强调服务模式,一个强调平台架构,当然,微博、微信、微视频等实际应用也可以采用或者迁移至微服务架构平台实现,就这一点而言,二者可以统一在一个框架下,只不过一个位于前端直接面向服务对象,一个位于后端为服务提供技术支撑。笔者以新技术语境下的图书馆微服务为研究对象,重点从技术方面探讨微服务架构的设计理念、实施策略,以及其在图书馆行业的应用前景。
4 图书馆微服务架构概述
第一代图书馆管理系统以资源管理为中心,主要包括纸质馆藏的编目、简单的流通和读者管理;第二代图书馆管理系统以业务管理为中心,把采编、流通、电子资源、参考咨询等业务模块集成在一起,使用大型关系数据库作为底层数据库,采用C/S或者B/S架构。随着互联网技术及计算机技术的快速发展,特别是随着读者需求的不断变化,以传统业务管理为主的图书馆集成管理系统已经无法满足读者日益多样化与个性化的需求,为应对新的变化和需求,图书馆开发了大量新的业务模块作为传统资源管理和业务流程功能的补充。但是,这些异构应用互相独立,数据分散,难以高效进行数据交换和共享,为保持图书馆服务的持续性,必须对现有业务系统进行改造或升级,新一代图书馆管理系统应运而生。
4.1 微服务架构设计理念
自微服务概念被提出以来,众多互联网企业,如Amazon、eBay、Netflix等从实践中逐步建立了一套处理复杂应用系统的微服务架构。微服务架构具有高可扩展性、可维护性,以及更好的適应性等特征。下页图1为微服务理论架构模型图,该架构模型分为前端、微服务平台、基础设施三层,其中前端层包括Web应用、小程序、App、微信公众号等,直接面对客户提供服务;微服务平台层包括注册中心、配置中心、网关等组件和容器化的微服务;基础设施层包括分布式的数据存储。微服务架构的特征决定了系统平台的规模越大,微服务架构的优势就越明显。
4.2 基于微服务架构的图书馆服务平台框架设计
图书馆可以结合自身实际业务,依据微服务理论架构规划图书馆微服务架构模型。图书馆微服务架构可进行分层设计,分为前端、业务系统、微服务平台、基础设施四层,其外围还有应用支撑平台、第三方服务和基础服务设施等,详见图2。图2显示,前端层包括各种Web应用、移动端的小程序等,读者在此可体验图书馆的各种服务;业务系统层包括图书馆网站、数字图书馆平台、读者服务平台等,为读者提供各种实质性服务;微服务平台层包括面向微服务架构的容器集群管理组件、网关组件、服务管理组件、注册中心组件、微服务容器平台及中间件层,为图书馆的各项微服务提供运行平台;基础设施层主要是硬件和软件,包含网络、服务器、操作系统、公共数据中心等,为图书馆服务平台提供基本运行支持。
图书馆微服务架构中的应用支撑平台是指为图书馆业务服务提供统一支撑服务的平台,如统一认证平台、大数据分析平台;第三方服务是指图书馆以外的第三方提供的服务,如电信运营商提供的短信服务,微信、支付宝等提供的支付服务等;基础服务设施是指完成特定基础服务的设施,如自助借还书设备、盘点机器人、自动分拣设备等。
基于微服务架构的图书馆服务平台是一种全新的模块化应用环境,遵循敏捷开发模式,对图书馆、系统开发商、软件服务商完全开放,可在统一的平台上为不同的主体提供统一的开发环境,不仅能满足当前图书馆服务升级的需求,更能适应未来图书馆各种新业务的开展。基于微服务架构的图书馆服务平台充分体现了第三代图书馆服务平台的开放性、易扩展性等特征,已然成为第三代图书馆服务平台软件架构的主流发展方向。由上海图书馆、北京大学图书馆等倡导推进的第三代图书馆服务平台FOLIO采用的就是微服务架构,目前上海图书馆已上线FOLIO馆藏管理系统和流通系统,并在实际应用中得到检验。
5 图书馆微服务架构实施策略
基于微服务架构的图书馆服务平台具有众多优势,在技术层面实现了松耦合,易维护、易扩展。但是,微服务架构也有其局限性,并不是所有项目都适用于微服务架构,一个信息系统采用什么架构,取决于信息系统的具体职能、目标、需求,以及实现的方式、方法等多种因素。因此,图书馆采用微服务架构应注意以下策略:①拆分策略。拆分越细项目越复杂,而拆分的本质是将复杂问题简单化,因此要采取合理的拆分策略,规模较小的项目没有必要强行拆分为微服务。②运营策略。一个稳定的微服务架构需要持续集成、部署、测试,图书馆需要组建技术过硬的项目团队,以实现开发维护一体化。③产品策略。图书馆每开发一项微服务都要从读者角度出发,充分了解读者需求,解决读者实际问题,让微服务真正为读者服务。④安全策略。图书馆微服务需进行统一的安全认证与鉴权,以实现按需隔离和安全互通。
6 结语
随着微服务在图书馆应用的不断深入,脱胎于计算机科学领域的微服务已从一种服务架构演变成为一种服务理念。微服务不仅仅是技术的升级,更是开发观念、开发方式、组织架构、运维方式的升级,需要图书馆在观念层面不断更新,在技术层面不断探索,在服务层面不断深入。微服务架构的易维护、易扩展及数据灵活共享等特征,不仅代表了复杂信息化系统未来发展的方向,也为第三代图书馆服务平台建设提供了新的思路。在以读者为中心的发展理念下,微服务将为图书馆界带来新的变革,通过搭建以微服务架构为特征的第三代图书馆服务平台,为读者提供更加便捷、更具个性、更加精细的全方位服务。
参考文献:
[1] Microservices[EB/OL].[2022-08-05].http://martinfowler.com/articles/microservices.html.
[2] 王昊贤,周义刚,张乃帅,等.基于微服务架构的FOLIO模块建设探索、实践与思考:以北京大学图书馆闭架图书叫号系统为例[J].大学图书馆学报,2020(4):26-33.
[3][9] 谢蓉,刘炜,朱雯晶.第三代图书馆服务平台:新需求与新突破[J].中国图书馆学报,2019(3):25-37.
[4] 聂应高.基于情景感知融合的图书馆微服务框架构建[J].图书馆学研究,2018(20):14-19.
[5] 李慧,周玲元.智慧图书馆微服务研究[J].新世纪图书馆,2020(1):30-37.
[6] 程聪,巴殿君.公共图书馆微服务现状调查及启示:以22所省级公共图书馆为例[J].图书馆学研究,2019(21):65-73.
[7] 张宸,王惠森.基于微服务架构的图书馆机构知识库设计研究[J].图书馆学研究,2017(8):59-63.
[8]肖铮,林俊伟.用微服务构架下一代图书馆服务平台:以FOLIO为例[J].图书馆杂志,2018(11):63-69.
(编校:徐黎娟)
收稿日期:2023-02-06
作者简介:黄海(1970— ),佛山市图书馆副研究馆员。
本文系2020年度广东省图书馆科研课题“图书馆网上微服务研究与实践”的阶段性研究成果之一,课题编号:GDTK2030。