基于微服务架构的考勤管理系统的设计和实现文献综述

 2023-03-21 05:03

基于NestJS微服务系统设计

摘要:随着近些年信息技术的蓬勃发展,物联网、云计算、人工智能等新型技术也在快速发展,这些复杂软件协同者的扩展导致新模块和组件的引入,推动着软件架构体系的演变。微服务作为一种新型架构风格,受到了工业界和学术界的广泛关注。

关键词:单体架构;微服务架构

  1. 文献综述

软件体系结构的演变

软件系统的体系结构规定了系统各个组件之间交互、协作或通信应该遵循的规范或协议。一直以来,开发人员都在努力寻找更好好的软件体系结构设计来构建系统,以期望满足企业业务需求,提高开发效率,方便业务扩展并能适应时代要求和用户需求。

  1. 单体架构

一些规模和流量较小的系统在开发过程中通常会使用传统的单体架构模式。他的功能核心是将对于的应用程序的所有不同功能,统一地设计、开发、打包及部署运行。这种软件架构的好处是其对外部环境的依赖性很低,在部署之后,单体程序的所有服务都能够直接使用并且有效运行。然而,对于业务逻辑复杂、数据量庞大和具有高可靠性、高伸缩性运行要求的软件系统来说,单体架构存在较多的不足。首先,单体架构软件的代码耦合度高,系统灵活性较差;其次,单体架构受到技术限制,所有模块采用相同的技术,难以实现技术协同;第三点也是最为重要的是,单体架构创建和部署的时间较长,难以实现持续发布和部署,且弹性扩展能力不足。

  1. 面向服务体系结构(SOA)

随着互联网技术的继续发展,大型的软件系统开始采用分布式的架构模式,以优化资源配置并提高系统可靠性、可用性和灵活性。为了便于分布式系统的开发和设计,面向服务体系结构SOA应运而生。SOA将服务端应有视为多个粗粒度服务的组合,每个服务可托管在不同的服务器中运行,服务间通过服务总线进行通信组合并共享一个数据库。SOA架构搭建系统时可根据业务需求对功能模块自由组合,同时在为了需要对模块进行升级时,只需保持模块对外通信接口的一致即可。这为创造松耦合的大型分布式应用开拓出了新的方向。

  1. 微服务架构

微服务架构的技术在2014 年由Fowler 和 Lewis 正式提出。微服务架构风格是一种使用一套小服务来开发单个应用的架构模式,每个服务运行在自己的进程中,并使用轻量级的机制通信,这些服务基于业务能力构建,并能够通过自动化部署机制来独立部署,这些服务可以使用不同的编程语言,不同数据存储技术,并保持最低限度的集中式管理。它提倡将应用程序划分为一组细粒度的服务,服务间采用轻量级的通信机制进行交互,从而为用户提供最终价值。微服务是SOA的一个特定子类型。SOA倾向于强烈依赖诸如企业服务总线或其他类似重量级中间件的产品,但微服务仅依赖于轻量级技术。其次,SOA通常与Web服务协议,工具和格式相关联。 相比之下,微服务通常依赖REST(Representational State Transfer)和HTTP4或其他被认为轻量级和本地化的Web开发格式。最后,SOA被看作是一个集成解决方案,而微服务通常被用来构建单独的软件应用程序。

微服务架构的关键技术及其组件

剩余内容已隐藏,您需要先支付 10元 才能查看该篇文章全部内容!立即支付

以上是毕业论文文献综述,课题毕业论文、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。