30 •电子技术与软件工程 Electronic Technology & Software Engineering
软件开发
• Software Development
【关键词】微服务 异构性 扩展性 信息系统
1 引言
随着云计算、大数据、互联网的发展和普及,企业的应用系统的规模越来越大,越来越复杂,给系统的设计开发、运行维护等带来了巨大的挑战。因此,为了提高应用系统的开发效率和维护便捷性,提出了微服务架构思想。基于微服务架构技术,能有效解决大型软件单体架构带来的研发周期长的问题,能够快速响应用户需求。
2 基于微服务架构的系统设计优势
基于微服务架构的软件信息系统可以按照每一个逻辑业务功能进行原子化划分,构建一个逻辑独立的应用软件系统,提高每一个模块的操作执行效率,可以解决复杂问题,同时还可以节约硬件资源。在功能模块化、微服务化的情况下还可以提高处理效率,解决编码过于复杂的问题,改善编码的应用效果。在
传统的应用系统设计过程中,人们需要选择不同类型的技术,但是在微服务架构下,其可以利用中心化的组织架构,不需要过度重视某一个重点,这样就可以根据应用服务范围不同确定技术种类,实现一对一的技术性服务,提高系统运行与处理效率。本文通过总结发现,基于微服务架构的系统设计具有很多优势,比如服务技术异构性、服务的扩展性和部署简单化。2.1 服务技术异构性
微服务架构的每个服务不是必须采用一致的语言或技术,可以选择一个适合的开发技术和程序设计语言,因此一个团队可以根据情况选择最熟悉的技术,这样就可以更好地支撑当前的应用软件。2.2 服务的扩展性
目前,一个软件系统的功能非常多,同时随着系统运行和使用,未来还需要添加更多的服务功能。传统的系统架构可扩展性比较弱,基于微服务架构的系统则可以提升扩展性,每
基于微服务架构的系统设计与应用
文/郑冰
一个系统模块都拥有独立性,因此就可以单独进行扩展,不需要涉及其他的功能模块和底层架构,这样就可以提高系统的服务能力。2.3 简化部署
基于微服务架构的系统可以针对服务功能进行单独处理,自顶向下针对系统的功能服务进行划分,每一个服务都属于一个单独的模块,各个模块之间是逻辑独立的,因此每一个服务的部署都是单独的,这样就可以有效简化系统部署工作。在传统的系统部署过程中,一旦某一个功能模块发生故障或问题,就会导致系统整体无法部署,采用微服务架构开发的系统则可以只关注出问题的模块,这样就可以提高整个系统的部署效率。
3 基于Spring Cloud微服务架构的设计与开发
Spring Cloud 是近几年开始流行的微服务框架,它利用Spring Boot 的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot 的开发风格做到一键启动和部署。Spring Cloud 是一个应用非常广泛的组件,能够为软件开发带来较多的技术支持,可以在微服务应用架构设计中提供标准框架,以便能够实现以微服务为架构的基础程序代码。基于Spring Cloud 微服务架构的应用系统设计过程中,首先需要创建一个Spring Cloud 配置服务器,创建一个Java 程序开发框架,在Spring Boot 基础上进行系统构建,然后软件设计师就可以激活这个应用服务功能,同时可以继续地配置服务器,完善系统服务的访问路径。
其次,系统设计与开发还可以利用微服务注册技术,注册完毕之后就可以发现系统中的功能模块,实现系统的集成和通讯传输,自动化的注册可以提高微服务架构软件的灵活性和部署简洁性。最
后在用户交互界面方面,使用AngularJS 组件绑定数据模型和页面变量,完成完整微服务的开发和创建。
4 基于Spring Cloud微服务架构在物流信息系统中的应用研究
随着近些年物流业的快速发展对信息系统提出了更高的要求,需求变化频度不断提高,传统大型项目的单体式开发模式已经不太适应快速的变化,需要更灵活的架构模式。因此在企业的实践中引入了微服务架构模式来应对。微服务架构中服务的分割也是需要重点考量的问题。虽然服务的划分能够使得系统更灵活,但是太细粒度的分割也会使得系统的服务和服务之间的交互变得错综复杂,难以管理。因此在构建物流系统是采用了模块级别的服务划分,数量大约在20个左右的水平,主要划分为基础服务、订单服务、产品服务、运价服务、供应商管理服务、报表服务等等。这样的设计模式既能够发挥微服务的优势也能够保持系统的易维护性。具体的应用架构如图1所示。
该应用平台采用了6层架构来实现,即客户端,网关层,微服层,业务层,资源存取层和资源层,并进行了一定拓展。具体说明如下:4.1 客户端
提供Web 应用和GUI 应用给最终用户使用。Web 客户端和GUI 客户端采用Http/Https 协议和网关层通信。4.2 网关层
为外部提供统一的网关接口,以及路由,安全控制等功能。4.3 微服层
<<;下转31页
图1:基于Spring Cloud 应用平台架构
Software Development •
软件开发
Electronic Technology & Software Engineering 电子技术与软件工程• 31
【关键词】网络 虚拟仿真实训系统 设计与开
发构建一个虚拟的仿真实训系统,不仅可以为学生提供实验指导,而且还能在一定程度上有效的促进老师能够及时的了解学生的学习状况,切实的提高课堂的教学效率。因此,我们就应加强研究与分析基于网络的虚拟仿真实训系统的设计与开发,确保学生能够随时随地的展开计算机实践操作,提高学生的动手实践能力和计算机操作能力。本文就针对基于网络的虚拟仿真实训系统的设计与开发展开具体的分析与讨论。
1 总体设计
基于网络的虚拟仿真实训系统的设计与开发
文/孙红云
就针对传统的虚拟仿真实训系统而言,
其通常都是使用现场总线网络的连接方式,通过使用RS-232串行通讯接口以及“全双工”的通讯方式,这样虽然能够在一定程度上提高系统的使用效率,但是其使用功能还较不完备。就针对传统的系统控制室的控制模型而言,其只是由部分模块组成,还无法满足现代计算
机教学的实际需求。因此,在开发与设计基于网络的虚拟仿真实训系统时,就在此基础上增加了相应的机器手控制模型以及仓库控制模型等,这样就更加丰富了该系统的使用功能,提
高了此系统使用的广泛性。而对于网络层的设计,也在原网络的基础上增加了教师工作站以及数据库服务器等多个子系统,目的是实现老师与学生的良好沟通,确保老师能够及时的了解学生的学习状况。而PLC 和教师工作站主要采用的是以太网形成的C/S 构架模式,确保实现数据的良好交互,数据库服务器与学生工作站则采用的是B/S 构架模式,这样就将网络升级成为了多层网络,使得整个系统不仅具备基本的通讯功能,而且还具备数据存储管理和资源开放和共享的功能。
2 系统的设计原则
2.1 系统的可扩展性
该系统开发与设计的主要目的就是:为学生自主学习提供一个较为开放的学习环境,可以帮助学生进行自主实践操作,能够切实的提高学生的计算机操作能力。其中,该系统的功能需求虽然相对稳定,但是倘若在实际使用过程中需要增添某些应用功能,就应保障该系统能够具有较强的可扩展性,且能兼容不同平台,这样才能发挥出该系统的使用价值。因此,在实际的开发与设计时,就应采用预留接口的方式,为整个系统的升级提供方便,这样不仅可以满足基本的应用需求,而且还能为系统以后的升级提供预留空间。2.2 系统简洁、易使用、易维护性在开发基于网络的虚拟仿真实训系统时,不仅要遵循系统的可扩展性原则,而且还应保证系统界面的美观性,确保实现功能的完善。且在设计时,还应注重系统的可维护问题,一旦系统在使用时出现故障问题,就能及时的对
微服务层为所有的微服务统一提供一个
注册发现中心,并配合网关层对外开放API 接口。每个微服务实现一套独立的功能,并且可以独自部署,横向扩展。4.4 业务逻辑层
业务逻辑层是整个统一信息管理系统的核心模块,实现所有的业务逻辑。本层主要包括3种组件,即:
(1)业务Biz 提供统一的业务服务调用,包括提供给服务层调用。
(2)业务组件对象封装一个业务功能。(3)业务对象封装业务模型数据。4.5 资源存取层
封装和外部资源的通信。主要提供3种类型的集成,即:
(1)数据集成,封装数据访问,例如数据库和文件访问;
springboot架构图(2)消息集成,封装和消息中间件的通信,如MQ 等;
(3)应用集成,封装和外部系统的交互。4.6 资源层
系统的外部资源。对于集成层,同时具
有3种类型的资源:数据源资源、消息资源、应用资源。4.7 基础服务
对微服务层,业务逻辑层,资源存取层提供公共的服务,主要包括缓存服务,传输对象,文件日志,数据库日志,权限管理,事务管理,任务调度模块等。4.8 Spring容器管理
业务逻辑层、集成层、基础服务都在Spring 的容器管理中。Spring 提供依赖注入和控制反转等功能。
基于以上应用架构搭建的物流信息系统经过实践证明,达到良好的性能指标。开发人员更加专注于业务模块的开发,系统架构师负责总体协调微服务的运维,使得系统开发效率更高,能应对快速变化的业务需求。
5 结束语
微服务架构能有效提升应用系统处理复杂事物的能力,通过高内聚和低耦合手段简化系统的设计。基于微服务的模块具有较高的自治性,可以按照独立实体模式存在和运行。SpringCloud 是非常优秀的微服务架构体系,
<<;上接30页
在实践中有广泛的应用,基于SpringCloud 微服务架构搭建物流信息系统,经过实践证明,能够快速适应需求的变化,达到设计初衷,具备一定的实践价值。
参考文献
[1]洪华军,吴建波,冷文浩.一种基于微服
务架构的业务系统设计与实现[J].计算机与数字工程,2018,46(1):149-154.
[2]李春阳,刘迪,崔蔚,等.基于微服务架
构的统一应用开发平台[J].计算机系统应用,2017,26(04):45-50.
[3]向彬彬,马明星,童茂林,等.基于微服
务架构的分布式测距系统的研究与设计[J].计算机应用与软件,2018,35(5):95-100.
作者简介
郑冰(1976-),男,福建省人。大学本科学历。系统分析师。研究方向为企业信息化。
作者单位
中远海运集装箱运输有限公司 上海市 200090
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论