一种支持服务升级版本兼容的微服务开发管理系统及方法技术方案

技术编号:19319776 阅读:23 留言:0更新日期:2018-11-03 10:37
本发明专利技术公开了一种支持服务升级版本兼容的微服务开发管理系统及方法,管理系统包括:服务接口管理模块用于设计微服务应用中的服务接口、控制管理服务接口的服务版本、存储服务接口描述信息以及判断注册服务类型;服务接口生成模块用于根据已设计服务接口的接口信息和已分配的版本号,生成满足服务接口定义的微服务应用中的服务组件;微服务应用升级模块用于注册服务为兼容性升级服务时,对注册服务进行兼容性服务升级,删除兼容性升级服务的原有版本服务接口。本发明专利技术优点为通过为每个微服务应用增加了接口兼容性处理能力,并配合独立的版本控制机制,有效解除了微服务间接口绑定关系,极大提高服务调用成功率,控制服务运行资源占用率。

A micro service development management system and method compatible with service upgrade version

The invention discloses a service development management system and method supporting service upgrade version compatibility. The management system includes: service interface management module for designing service interface in micro service application, controlling service version of management service interface, storing service interface description information and judging registered service type; The service interface generation module is used to generate service components in micro-service applications according to the interface information of the designed service interface and the assigned version number. When the micro-service application upgrade module is used to register service as compatibility upgrade service, the registration service is upgraded to compatibility service and the compatibility is deleted. The original version service interface of the sexual upgrade service. The advantages of the invention are that by adding interface compatibility processing capability for each micro-service application and cooperating with independent version control mechanism, the interface binding relationship between micro-services is effectively removed, the success rate of service invocation is greatly improved, and the occupancy rate of service running resources is controlled.

【技术实现步骤摘要】
一种支持服务升级版本兼容的微服务开发管理系统及方法
本专利技术涉及互联网
,具体涉及一种支持服务升级版本兼容的微服务开发管理系统及方法。
技术介绍
微服务架构作为一项在云中部署应用和服务的新技术已成为当下最新的热门话题。简要来说,微服务架构是一种将单个应用程序开发成一组微小服务的方法,每个服务皆运行在自己的进程中,这些服务以业务能力为基础并以独立的自动化的机制部署。微服务架构下,应用程序由独立部署运行的微服务应用组成,每个微服务应用,会对外开放一系列的服务接口,也会调用其他应用中的服务,应用之间存在着交叉嵌套的服务调用关系。在一个服务调用关系中,提供服务的称为服务提供者,调用服务的称为服务消费者,服务提供者对外开放接口,服务消费者根据开放的接口向服务提供者获取服务,只有在服务消费者所调服务接口与服务提供者提供的接口完全一致的情况下,服务才能调通,所以如果一个服务对外提供的接口发生改变,其调用者也需要进行修改才能保证调用关系正常运转。然而,微服务应用的敏捷性、解耦性、灵活性等要求,使得服务之间调用关系错综复杂,服务升级迭代也较为频繁,一个服务升级变更,会引发一系列的服务调用接口不一致问题,导致调用关系链中的服务消费者无法向提供者获取服务,若采取绑定式升级来保证接口一致,服务调用循环嵌套会引起服务调用关系中大量应用服务接口的修改,升级代价巨大,甚至由于不同应用中的服务交叉调用导致无法控制的循环升级问题。
技术实现思路
(一)解决的技术问题针对现有技术的不足,本专利技术提供了一种支持服务升级版本兼容的微服务开发管理系统及方法,通过为每个微服务增加了接口兼容性处理能力,并配合独立的版本控制机制,有效解除了微服务间接口绑定关系,极大提高服务调用成功率。(二)技术方案为实现以上目的,本专利技术通过以下技术方案予以实现:一种支持服务升级版本兼容的微服务开发管理系统,所述管理系统包括:服务接口管理模块101,用于设计微服务应用中的服务接口、控制管理服务接口的服务版本、存储服务接口描述信息,以及用于判断注册服务类型;服务接口生成模块102,用于根据已设计服务接口的接口信息和已分配的版本号,生成满足服务接口定义的微服务应用中的服务组件;微服务应用升级模块103,用于根据注册服务类型,在注册服务为兼容性升级服务时,对注册服务进行兼容性服务升级,并删除兼容性升级服务的原有版本服务接口。优选的,所述服务接口管理模块101进一步包括:服务接口设计模块1011,用于设计服务接口的接口信息,包括服务接口名和服务参数列表,以完成服务接口设计;服务版本控制模块1012,用于判断注册服务类型,根据已设计服务接口的接口信息和注册服务类型,为相应的服务接口分配定义版本号,以完成服务版本控制管理;服务注册模块1013,用于存储已设计服务接口的接口信息和已分配的版本号,以实现服务注册。优选的,所述服务接口描述信息包括服务接口名、服务参数列表和版本号,所述版本号为服务自身携带的版本号,版本号包括大版本号和中版本号;所述服务参数列表包括服务形参名、参数类型和参数是否可缺省等。优选的,所述服务组件包含接口描述信息和兼容性处理模块信息,所述接口描述信息通过服务接口管理模块101查询获取;所述兼容性处理模块信息,用于在服务提供者接收的服务调用请求的中版本号与服务提供者中服务接口的版本号不一致时,根据调用请求服务参数列表,将传入参数值与服务形参名进行匹配后,对未赋值参数设置默认值,形成与服务提供者接口匹配的请求服务参数列表。本专利技术同时提供一种支持服务升级版本兼容的微服务开发管理方法,用于实现上述所述的管理系统,所述管理方法包括:步骤201,设计微服务应用中的服务接口、控制管理服务接口的服务版本、存储服务接口描述信息,以及用于判断注册服务类型;步骤202,根据已设计服务接口的接口信息和已分配的版本号,生成满足服务接口定义的微服务应用中的服务组件;步骤203,根据注册服务类型,在注册服务为兼容性升级服务时,对注册服务进行兼容性服务升级,并删除兼容性升级服务的原有版本服务接口。优选的,所述步骤201进一步包括:步骤2011,设计服务接口的接口信息,包括设计服务接口名和服务参数列表,完成服务接口设计;步骤2012,判断注册服务类型,根据已设计服务接口的接口信息和注册服务类型,为相应的服务接口分配定义版本号,完成服务版本控制管理;步骤2013,存储已设计服务接口的接口信息和已分配的版本号,作为服务接口描述信息,实现服务注册。优选的,所述步骤2012在判断注册服务类型时,根据服务接口名查询已注册服务的当前最高版本号同名服务信息,以判定注册的服务类型。优选的,所述注册服务类型包括新注册服务、兼容性升级服务和非兼容性升级服务,三种注册服务类型版本号包括以下判定步骤:若注册服务类型为新注册服务,则大版本号设置为1,中版本号设置为0;若注册服务类型为兼容性升级服务,则在当前最高版本号的基础上,将中版本号加1,大版本号不变;若注册服务类型为非兼容性升级服务,在当前最高版本号的基础上,大版本号加1,中本版号设置为0。(三)有益效果本专利技术具备以下有益效果:(1)本专利技术将微服务应用中的接口服务组件化,每个服务作为一个独立单元,进行独立的开发和管理,为每个服务增加了接口兼容性处理能力,并配合独立的版本控制机制,有效解除了微服务间接口绑定关系,保证服务升级后,与其具有调用关系的应用服务无需进行修改升级,仍能正常调用所需服务;(2)通过本系统与方法,有效解决在服务独立升级的模式下,服务调用接口与服务提供者接口不一致导致服务调用者与服务提供者不能进行正常通信和交互的问题,极大提高服务调用成功率,减少服务升级带来的变更成本,并通过兼容性处理机制,有效控制了服务运行资源占用率。附图说明图1为本专利技术微服务开发管理系统结构示意图。图2为本专利技术微服务开发管理方法示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。根据本专利技术,提供一种支持服务升级版本兼容的微服务开发管理系统,该开发管理系统将微服务应用中的接口服务组件化,每个接口服务均作为独立单元,进行独立的开发与管理,针对每个接口服务增设接口兼容性处理能力,并配合独立的版本控制机制,解除微服务间接口绑定关系,提高服务升级效率。图1图示了根据本专利技术优选实施例的微服务开发管理系统示意性框图,根据图1所示,该微服务开发管理系统包括:服务接口管理模块101,用于设计微服务应用中的服务接口、控制管理服务接口的服务版本、存储服务接口描述信息,以及用于判断注册服务类型。服务接口生成模块102,用于根据已设计服务接口的接口信息和已分配的版本号,生成满足服务接口定义的微服务应用中的服务组件。微服务应用升级模块103,根据注册服务类型,在注册服务为兼容性升级服务时,对注册服务进行兼容性服务升级,并删除兼容性升级服务的原有版本服务接口。此处需要说明的是,通过服务接口管理模块101和服务接口生成模块102后,微服务应用中的服务组件是多版本同时存在的,本文档来自技高网...

【技术保护点】
1.一种支持服务升级版本兼容的微服务开发管理系统,其特征在于,所述管理系统包括:服务接口管理模块(101),用于设计微服务应用中的服务接口、控制管理服务接口的服务版本、存储服务接口描述信息,以及用于判断注册服务类型;服务接口生成模块(102),用于根据已设计服务接口的接口信息和已分配的版本号,生成满足服务接口定义的微服务应用中的服务组件;微服务应用升级模块(103),用于根据服务组件的注册服务类型,在注册服务为兼容性升级服务时,对注册服务进行兼容性服务升级,并删除兼容性升级服务的原有版本服务接口。

【技术特征摘要】
1.一种支持服务升级版本兼容的微服务开发管理系统,其特征在于,所述管理系统包括:服务接口管理模块(101),用于设计微服务应用中的服务接口、控制管理服务接口的服务版本、存储服务接口描述信息,以及用于判断注册服务类型;服务接口生成模块(102),用于根据已设计服务接口的接口信息和已分配的版本号,生成满足服务接口定义的微服务应用中的服务组件;微服务应用升级模块(103),用于根据服务组件的注册服务类型,在注册服务为兼容性升级服务时,对注册服务进行兼容性服务升级,并删除兼容性升级服务的原有版本服务接口。2.根据权利要求1所述的一种支持服务升级版本兼容的微服务开发管理系统,其特征在于,所述服务接口管理模块(101)进一步包括:服务接口设计模块(1011),用于设计服务接口的接口信息,包括服务接口名和服务参数列表,以完成服务接口设计;服务版本控制模块(1012),用于判断注册服务类型,根据已设计服务接口的接口信息和注册服务类型,为相应的服务接口分配定义版本号,以完成服务版本控制管理;服务注册模块(1013),用于存储已设计服务接口的接口信息和已分配的版本号,以实现服务注册。3.根据权利要求1所述的一种支持服务升级版本兼容的微服务开发管理系统,其特征在于:所述服务接口描述信息包括服务接口名、服务参数列表和版本号,所述版本号为服务自身携带的版本号,版本号包括大版本号和中版本号;所述服务参数列表包括服务形参名、参数类型和参数是否可缺省。4.根据权利要求3所述的一种支持服务升级版本兼容的微服务开发管理系统,其特征在于:所述服务组件包含接口描述信息和兼容性处理模块信息,所述接口描述信息通过服务接口管理模块(101)查询获取;所述兼容性处理模块信息,用于在服务提供者接收的服务调用请求的中版本号与服务提供者中服务接口的版本号不一致时,根据调用请求服务参数列表,将传入参数值与服务形参名进行匹配后,对未赋值...

【专利技术属性】
技术研发人员:赵永光钱进孙明郭斌王硕琼王敏虾
申请(专利权)人:山大地纬软件股份有限公司
类型:发明
国别省市:山东,37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1