基于微服务架构的系统设计与开发

2022-09-12

信息化时代背景下, 我国大多数企业已处于向信息化转变的过程中, 其中应用系统较笨重、数据较复杂的弊端导致其维护与更新方面需要付出大量时间与精力, 影响企业信息化转变进度。将微服务架构融入应用系统中, 能够帮助企业完成应用系统更新, 解决系统较笨重、数据较复杂的问题。

一、微服务架构综述

(一) 微服务架构定义

微服务架构, 指性质为高内聚性的, 根据业务范围确定服务范围的较小协同工作单位。各个单位自治度较高, 可作为独立实体于系统中运行, 亦可作为系统进程存在, 服务间采用网络调用方式, 此方式可使服务间隔离性加强, 避免紧耦合现象发生。微服务架构模式属于适配性结构, 根据业务上下文选择相对应适配性语言、工具, 随后将单一应用程序拆分, 将程序内服务划分为组, 于服务相互协调配合情况下, 使服务围绕具体业务进行实际构建, 且运行于独立进程中。

(二) 微服务架构的特点

微服务架构的特点可分为三种, 此类特点使其在与传统组件的竞争中取得更大优势, 相关分类如下:

(1) 分解化服务处理

从技术角度而言, 可将微服务视为组件, 此类组件与传统组件的差异在于简便化运行, 占用空间较小。传统组件将业务独立部分隔离或是抽取公用部分, 使应用程序模块化后完成解耦与复用。微服务架构则直接将系统分解为多个服务, 且服务之间存在着一定耦合关系, 应用程序中功能只需将单一系统改变, 随后重新构建部署对应服务即可。

(2) 复杂度降低

微服务架构原理即为将单体应用按组别分解为多个独立服务, 使程序中执行数据复杂性问题得以缓解, 避免无用数据占用进程, 影响处理速度。假设功能固定的情况下, 应用分解为多个服务后, 通过微服务架构可使复杂功能模块化实现, 解决单体应用编码复杂导致应用编码方式较难实现的问题, 使服务开发、维护过程简单化、便捷化。

(3) 技术多元化

传统开发模式中对于应用的构建方式为使用同类技术, 而微服务架构的主要技术为无中心化的组织架构, 构建方式无侧重点, 应用中服务根据自身服务范围与行业发展现状做出相应判断, 确定技术类型后进行对口服务, 使服务科学化、专业化、系统化的同时使服务处理速度更快速, 效率更高。

二、基于微服务架构的设计与开发

(一) 服务范围划分决定设计方向、方式

以集团内某综合应用系统为例, 现阶段其应用过程中易出现单体结构应用无法解决的问题, 对其进行分析后发现, 其系统为两级分离式业务系统, 分为集团级系统与各所属单位, 其中包含合同管理、计划管理、项目管理、财务管理、成果管理等子系统分类。从职能与服务范围对其进行划分, 集团级系统主要范围为宏观总体把控, 多对所级系统下发计划;所级系统主要职能为针对计划、项目、财务等上述范围进行执行、管理。此二类系统差异较大, 但仍具备共性, 可作为设计注重方向之一。根据该系统中系统建设情况, 以微服务角度分析, 应对其服务范围进行划分以确定架构设计方案。此系统服务较多, 设计方面可将其分为共享微服务与定制微服务, 此类服务中皆提供与上文所述两类业务系统的服务, 差异在于定制微服务为共享服务无法满足实际业务情况下, 根据具体需求所制定的特殊微服务。将各类微服务定义为独立服务接口, 因实现不同功能的微服务组成此系统, 可解决原系统中单体结构维护难度大的问题。

(二) 总体架构设计

可将架构设计分为多层次架构, 各层次间无分级关系, 且可相互连通, 但联通方式仅为网络调用, 避免出现紧耦合现象。架构顶层为服务网关, 随后客户端负责均载, 避免出现问题;次层架构为一组定制微服务与两组共享微服务, 可将其分为服务发现与服务配置, 经主控面板处理后分入消息队列, 借助Web框架, 以断路器作为结构终端。此类架构可良好处理企业服务中遭遇的问题, 通过基础平台共享微服务初步实现对问题的分析, 以便确定服务范围, 若相关服务范围不属于基础平台共享微服务的服务范围内, 则面向服务对象展开业务共享微服务, 根据服务范围确定是否开启对应定制微服务, 直至解决对应问题, 完成此次服务。服务完成后本次服务相关数据将通过主控面板存于相应组件中, 以便处于类似服务过程中直接直接确认服务范围, 节省处理时间, 提高效率。

(三) 服务开发

服务开发由Spring Cloud组件提供技术支持, 其不仅可应用于服务框架构建中, 完成基于微服务架构的程序实现, 其具体步骤如下:首先创建Spring Cloud配置服务器, 配置依赖pom.xml, 创建配置应用类java, 于Spring Boot上构建项目, 激活此应用为配置服务器, 配置访问路径;随后展开微服务注册及发现, 此步骤使用eureka作为云服务注册及发现的客户端连接组件, 提供注册服务;随后添加@Enable Dicovery Client注解, 使微服务启动时自动注册至对应注册中心;最后配置断路器, 确保其启动后依赖于微服务注册与发现, 配置前端html页面, 使用Angular JS, 绑定数据模型到页面变量, 创建微服务完成。测试运行后投入使用。其他微服务以此类推。

三、结束语

微服务能够解决以往应用程序中出现的各类问题, 同时其具备简便、多元化、分类及服务范围广泛、高自治性等优点, 较适合各类应用系统, 尤其为共性与区别并存的两级业务系统的建设, 以微服务架构设计系统, 可使系统加快信息化步伐, 最终完成信息化转变, 解决信息化建设问题, 紧随时代发展而进步。

摘要:文中对基于微服务架构的系统设计与开发进行阐述, 从微服务架构原理入手, 将其与传统应用服务模式进行分析对比, 随后根据实际情况, 选用对应程序完成开源微服务框架, 进一步对应用系统进行微服务架构设计, 最终使程序开发得以实现, 完成系统设计目的, 为企业信息化遇到的问题开辟一种新的解决路径。

关键词:微服务,系统设计,系统开发

参考文献

[1] 王方旭.基于Spring Cloud实现业务系统微服务化的设计与实现[J].电子技术与软件工程, 2018 (08) :60-61.

[2] 洪华军, 吴建波, 冷文浩.一种基于微服务架构的业务系统设计与实现[J].计算机与数字工程, 2018, 46 (01) :149-154.

[3] 韩佼男.浅析微服务架构在企业信息系统构建中的应用价值[J].中国管理信息化, 2018, 21 (2) :53-54.

上一篇:物流技术发展对物流管理的影响分析下一篇:论多媒体课件在《法律文书学》教学中的运用