CN114691567A - 基于微服务的多云接口适配方法、系统及存储介质 - Google Patents
基于微服务的多云接口适配方法、系统及存储介质 Download PDFInfo
- Publication number
- CN114691567A CN114691567A CN202011612974.7A CN202011612974A CN114691567A CN 114691567 A CN114691567 A CN 114691567A CN 202011612974 A CN202011612974 A CN 202011612974A CN 114691567 A CN114691567 A CN 114691567A
- Authority
- CN
- China
- Prior art keywords
- interface
- micro
- cloud
- interface adaptation
- server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000006978 adaptation Effects 0.000 title claims abstract description 97
- 238000000034 method Methods 0.000 title claims abstract description 25
- 238000003860 storage Methods 0.000 title claims abstract description 7
- 230000004044 response Effects 0.000 claims description 49
- 238000012545 processing Methods 0.000 claims description 26
- 238000004806 packaging method and process Methods 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 3
- 238000007726 management method Methods 0.000 abstract description 22
- 238000012423 maintenance Methods 0.000 abstract description 6
- 238000006243 chemical reaction Methods 0.000 abstract description 4
- 238000005538 encapsulation Methods 0.000 abstract description 2
- 238000012544 monitoring process Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 6
- 230000003044 adaptive effect Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000008878 coupling Effects 0.000 description 4
- 238000010168 coupling process Methods 0.000 description 4
- 238000005859 coupling reaction Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 230000005856 abnormality Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 230000008649 adaptation response Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000000547 structure data Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/387—Information transfer, e.g. on bus using universal interface adapter for adaptation of different data processing systems to different peripheral devices, e.g. protocol converters for incompatible systems, open system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5022—Mechanisms to release resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/541—Interprogram communication via adapters, e.g. between incompatible applications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5022—Workload threshold
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供有一种基于微服务的多云接口适配方法、系统及存储介质。本发明实施例通过资源管理微服务单元提供统一的管理接口服务,通过采用微服务架构的接口适配微服务器替代传统的单体应用,针对不同目标云环境接口分别对用户请求进行相应的转换和封装。本发明实施例能够屏蔽不同云厂商云环境接口之间的接口差异,并支持基于微服务架构的快速迭代部署、水平扩展,能够实现一套工具管理多个云,达到简化多云管理操作,降低多云维护成本的目的。
Description
技术领域
本发明实施例涉及云平台技术领域,具体而言涉及一种基于微服务的多云接口适配方法、系统及存储介质。
背景技术
随着云计算技术的发展,关于哪种云部署模型最适合组织一直存在着争论。越来越多的应用场景表明,由于每个企业、每个行业其需求及目标各不相同,依赖单一类型的云平台很难普适于全部应用情形。由此,“混合云” (Hybrid Cloud)和“多云”(Multi-Cloud)战略应运而生。
不管是多云还是混合云,其均需涉及多个独立的云环境。每个云提供商都有自己的一套用于关键运维任务的管理工具。各云平台之间,在云资源管理、云使用监控等等关键运维功能的运行、调取方式上均存在明显区别。对于企业管理员而言,其通常需要一个可以跨越多个云的、专注于运维任务的工具,才能满足其不同云平台之间的运维需求。
但是,现有的多云平台间适配技术尚存在以下缺陷:
现有的多云平台间适配技术通常采用图1方式,基于单体软件架构实现。该现有云管理平台所有的功能都在一个war包中,除了WEB容器基本没有外部依赖。其需根据不同的厂商类型,分别针对各云平台构造不同的请求体、调用不同的接口、再进行不同的业务逻辑处理。实际使用中,通常需部署冗余重复的代码,系统健壮性差、耦合严重、扩展性灵活性不足,并且不方便更新维护,无法满足快速部署的需求。
发明内容
本发明实施例针对现有技术的不足,提供一种基于微服务的多云接口适配方法、系统及存储介质,本发明实施例能够屏蔽不同云厂商云环境接口之间的接口差异,并支持基于微服务架构的快速迭代部署、水平扩展,能够达到简化多云管理操作,降低多云维护成本的目的。本发明实施例具体采用如下技术方案。
首先,为实现上述目的,提出一种基于微服务的多云接口适配方法,其在接收到用户请求后,调用接口适配微服务器所定义的接口,向接口适配微服务器传递用户请求,以触发接口适配微服务器内部响应于所述用户请求执行以下步骤:对所述用户请求进行转换和封装,生成资源访问请求,向相应的云环境接口发送所述资源访问请求;在接收到云环境接口返回的响应结果后,将该响应结果转换为标准格式的响应信息,以供向用户展示。
可选的,如上任一所述的基于微服务的多云接口适配方法,其中,所述接口适配微服务器中设置有:统一入口单元,所述统一入口单元定义有分别针对不同资源的北向REST接口以接收不同用户请求。
可选的,如上任一所述的基于微服务的多云接口适配方法,其中,所述用户请求中包含:至少一个目标云环境接口标识,以及对应于所请求的资源的标准请求参数信息。
可选的,如上任一所述的基于微服务的多云接口适配方法,其中,所述接口适配微服务器中还设置有:消息处理单元;所述消息处理单元用于:对所述用户请求中的标准请求参数信息按照目标云环境接口标识所对应的标准格式进行转换和封装,生成资源访问请求,向相应的云环境接口发送所述资源访问请求;所述消息处理单元还用于:在接收到云环境接口返回的响应结果后,将该响应结果转换为标准格式的响应信息,所述标准格式与返回响应结果的云环境接口相匹配。
可选的,如上任一所述的基于微服务的多云接口适配方法,其中,所述统一入口单元在接收到用户请求后,调用对应于所述消息处理单元的应用程序接口以传递相应的目标云环境接口标识和标准请求参数信息。
可选的,如上任一所述的基于微服务的多云接口适配方法,其中,所述接口适配微服务器具有多个副本,各副本分别由各自独立的运算单元执行,各副本均按照以下步骤向API Gateway注册或注销,并由API Gateway统一分配其所接收的用户请求:在连续的N个判决周期均判断现有副本的运算负荷超出性能指标上限后,触发注册新的副本,并向所述新的副本分配用户请求;在连续的N个判决周期均判断现有副本的运算负荷低于性能指标下限后,停止向运算负荷最低的副本分配用户请求,并触发注销该副本。
同时,本发明实施例还提供一种基于微服务的多云接口适配系统,其包括:资源管理微服务单元,其用于在接收到用户请求后,调用接口适配微服务器所定义的接口,向接口适配微服务器传递具有目标云环境接口标识和标准请求参数信息的用户请求;所述接口适配微服务器用于:对所述用户请求中的标准请求参数信息按照目标云环境接口标识所对应的标准格式进行转换和封装,生成资源访问请求,向相应的云环境接口发送所述资源访问请求;所述接口适配微服务器还用于:在接收到云环境接口返回的响应结果后,将该响应结果转换为标准格式的响应信息,以供向用户展示;所述资源管理微服务与所述接口适配微服务器之间通过北向REST接口交互。
可选的,如上任一所述的基于微服务的多云接口适配系统,其中,所述接口适配微服务器的数量不低于2个,各接口适配微服务器之间基于容器独立运行,各接口适配微服务器均按照以下步骤向API Gateway注册或注销,并由API Gateway统一分配其所接收的用户请求:在连续的N个判决周期均判断现有接口适配微服务器的运算负荷超出性能指标上限后,触发注册新的接口适配微服务器,并向所述新的接口适配微服务器分配用户请求;在连续的N个判决周期均判断现有接口适配微服务器的运算负荷低于性能指标下限后,停止向运算负荷最低的接口适配微服务器分配用户请求,并触发注销该接口适配微服务器。
可选的,如上任一所述的基于微服务的多云接口适配系统,其中,每一个所述接口适配微服务器均包括:统一入口单元,所述统一入口单元定义有分别针对不同资源的北向REST接口以接收不同用户请求;消息处理单元,其通过应用程序接口与所述统一入口单元交互,用于对所述用户请求中的标准请求参数信息按照目标云环境接口标识所对应的标准格式进行转换和封装,生成资源访问请求,向相应的云环境接口发送所述资源访问请求;还用于:在接收到云环境接口返回的响应结果后,将该响应结果转换为标准格式的响应信息。
此外,为实现上述目的,本发明实施例还进一步对应提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如以上任一项所述的基于微服务的多云接口适配方法的步骤。
有益效果
本发明实施例通过资源管理微服务单元提供统一的管理接口服务,通过采用微服务架构的接口适配微服务器替代传统的单体应用,针对不同目标云环境接口分别对用户请求进行相应的转换和封装。本发明实施例能够屏蔽不同云厂商云环境接口之间的接口差异,并支持基于微服务架构的快速迭代部署、水平扩展,能够实现一套工具管理多个云,达到简化多云管理操作,降低多云维护成本的目的。
此外,考虑到单个微服务往往承受不住高并发,因此,本发明实施例还基于APIGateway根据业务流量的大小对微服务的水平扩展进行动态管理。本发明实施例采用基于阈值的规则(threshold-based rules),可以在运算负荷较高时通过增加接口适配微服务器的副本数量,通过多个微服务副本共同承担流量;而在运算符合较低时通过减少接口适配微服务器的副本数量降低系统开销。
本发明实施例的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明实施例而了解。
附图说明
附图用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,并与本发明实施例的实施例一起,用于解释本发明实施例,并不构成对本发明实施例的限制。在附图中:
图1是现有单体架构方式下的多云平台间适配方式示意图;
图2是本发明实施例的基于微服务的多云接口适配系统示意图;
图3是本发明实施例的基于微服务的多云接口适配方法中接口适配微服务器调用时序图;
图4是使用本发明实施例的基于微服务的多云接口适配方法的流程示意图;
图5是本发明实施例的基于微服务的多云接口适配系统中基于微服务实现水平扩展的示意图;
图6为实现图5所示水平扩展功能的步骤流程示意图。
具体实施方式
为使本发明实施例的目的和技术方案更加清楚,下面将结合本发明实施例的附图,对本发明实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本发明实施例的一部分实施例,而不是全部的实施例。基于所描述的本发明实施例的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本发明实施例保护的范围。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与本发明实施例所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。
本发明实施例中所述的“连接”的含义可以是部件、单元之间的直接连接也可以是部件、单元间通过其它部件的间接连接。
图1为现有的基于单体软件架构的云管理平台。其将所有的功能都集中在一个war包中,除了WEB容器以外基本没有外部依赖。这种架构是一种优缺点都很突出的架构:其优点是集中式管理、开发简单、没有分布式调用的损耗,但是其缺点也很明显:系统健壮性差、与系统耦合严重、扩展性灵活性不够,因而无法满足快速部署的需求。
参考图2,本发明实施例首先提供一种基于微服务的多云接口适配系统,其包括:
若干设置在业务层的资源管理微服务单元,用于在接收到用户请求后,调用接口适配微服务器所定义的接口,向接口适配微服务器传递具有目标云环境接口标识和标准请求参数信息的用户请求;
该系统还包括若干基于容器运行,且可水平扩展的接口适配微服务器。各接口适配微服务器用于:接收资源管理微服务单元的调用,对用户请求中所包含的标准请求参数信息按照目标云环境接口标识所对应的标准格式进行转换和封装,生成资源访问请求,向相应的云环境接口发送所述资源访问请求;各接口适配微服务器还用于:在接收到云环境接口返回的响应结果后,将该响应结果转换为标准格式的响应信息,以供向用户展示。这里响应信息所对应的标准格式可以根据返回响应结果的云环境接口而相应进行匹配,也可直接对应于调取响应信息的第三方应用或者用户UI模块,设置一个在各应用各用户UI模块之间通用的数据标准,依据该数据标准转换响应结果。
如图2所示,该系统中的用户UI模块:用于接收用户端发送的访问资源的请求,并将对应的用户请求发送至对应的业务组件模块。
业务组件模块后台中的N个资源管理微服务单元和UI之间一般会设置一个代理或者叫API Gateway,作用是为前台提供后台服务的聚合,提供统一的服务出口,解除他们之间的耦合;
该系统中的业务组件模块:用于接收并处理用户UI模块所发送的用户请求,要求上述请求中至少携带一个目标云环境接口标识以及与其所请求的资源相对应的标准请求参数信息;
接口适配微服务器用于接收各业务组件模块所发送的用户请求,根据请求中所携带的云环境接口标识和标准请求参数信息,按不同类型云环境接口接口所需标准格式对标准请求参数信息进行转换和封装,生成资源访问请求,然后将该请求发送至对应的云环境接口;接口适配微服务器还用于在接收到云环境接口返回的响应结果后,将该结果转换为标准格式的响应信息,以便第三方应用或者用户UI模块根据该响应信息向用户展示资源访问请求结果。
其中的接口适配微服务器具体又可以划分为两个子单元,分别是:统一入口单元和消息处理单元。
其中,统一入口单元定义了匹配于各种资源的北向(Northbound Interface,即,为厂家或运营商进行接入和管理网络的接口,即向上提供的接口)REST(RepresentationalState Transfer)接口,如,云主机相关接口,云硬盘相关接口、云镜像相关接口等,以接收不同类型的用户请求;
其中的消息处理单元,则负责对用户请求中的参数信息进行处理:分别按照目标云环境接口标识确定不同云环境接口的标准格式,然后根据该标准格式对用户请求中的标准请求参数信息进行封装,生成资源访问请求,然后调用云环境接口的相应接口,向相应的云端发送所述资源访问请求,此外在接收到云环境接口对请求的响应结构数据后,消息处理单元还需要将不同云环境接口的响应结构转换为统一的标准格式的响应信息。统一入口单元和消息处理单元之间可具体通过API(Application Programming Interface,应用程序接口)方式实现交互。
该系统的具体运行时序可参照图3所示,通过如下步骤进行:
步骤1:业务层的业务组件在通过用户UI接收到用户请求后,调用接口适配微服务器中统一入口单元所定义的接口,向接口适配微服务器传递用户请求,以触发接口适配微服务器内部响应于所述用户请求执行步骤2至步骤;
步骤2:接口适配微服务器中的统一入口单元在接收到用户请求后,调用消息处理单元所对应的API(Application Programming Interface,应用程序接口),触发消息处理单元对用户请求中的参数进行处理,将其按照用户请求所对应的云环境接口的标准格式进行转换和标准化封装,生成资源访问请求;
步骤3:消息处理单元根据云环境接口标识向对应的云环境接口发送资源访问请求;
步骤4:消息处理单元对云环境接口返回的响应结果进行统一的标准格式的转换,将响应信息返回给客户端。
由于微服务架构(Micro Service Architecture)可以将功能分解到离散的各个服务当中,从而降低系统的耦合性,并提供更加灵活的服务支持。因此,本发明实施例基于微服务方式架构的上述若干个接口适配微服务器可以将接口调用层从业务层面抽取并解耦,作为单独的接口适配服务发布,从而实现对这一模块的独立开发、管理和迭代。
本发明实施例上述方案中所使用的接口适配微服务器是一个无状态微服务,其可进行水平扩展,通过多个接口适配微服务器副本共同承担流量,各副本分别由容器中各自独立的运算单元执行,通过CPU和内存的协同调用实现上述用户请求对应参数的处理。因此,在其他优选实现方式下,本发明实施例还可以进一步的通过图6所示的路由算法,通过业务组件模块后台中N个资源管理微服务单元和UI之间所设置的API Gateway进一步提供图5所示架构下的负载均衡、熔断治理功能,实现客户端请求在不同实例之间的均衡分配,保证即使在其中某一个微服务出现问题下线的情况下,也能不会影响系统的正常运行。
其具体实现步骤如下:
1:在系统启动阶段,设置多云适配微服务弹缩策略参数,设置相应的对应于CPU使用率、内存使用率的性能指标的上下限阈值,设置判决周期,设置指标样本数N,以及接口适配微服务器副本数量的上下限等参数。考虑到初始状态下流量相对较小,因此一般仅需要向API Gateway注册一个副本由API Gateway统一分配其所接收的用户请求至该副本就可以处理业务流量;
上述各参数可具体定义如下:
上下限阈值:应于CPU使用率、内存使用率等性能指标的上限数值和下限数值,用于判断现有接口适配微服务器的运算负荷;
判决周期:判断运算负荷状况的间隔时间;
指标样本数:决定是否需要触发弹缩的判决周期个数,在连续第N个判决周期均判断运算负荷超过上限或下限后触发弹缩机制;
副本数上下限:微服务副本数量的上下限。
2:由API Gateway负责统一分发所有用户请求,承担负载均衡器的角色,所有接口适配微服务器副本均需要向API Gateway注册;
3:执行性能监控任务,监控副本的CPU、内存使用率,以便在外部用户请求增多,单个接口适配微服务器副本负载过高时,经过N个判决周期的判断,确定CPU使用率达到上限阈值的次数已经达到指标样本数N后触发弹缩机制,自动向API Gateway注册以扩展新副本,由API Gateway向所述新的接口适配微服务器分配用户请求以对外部流量进行分流;而与之对应地,在连续的N个判决周期均判断现有接口适配微服务器的运算负荷低于性能指标下限后,停止向运算负荷最低的接口适配微服务器分配用户请求,并触发注销该接口适配微服务器。
具体流程如附图6所示,上述弹缩机制中可分别将:对CPU、内存使用率的监控以一个被反复按照判决周期被触发的性能监控任务实现;性能监控任务判断异常后触发执行弹缩检查任务,检查性能指标出现异常的频度或持续时间是否达到设置的指标样本数;若未达到,则弹缩检查任务流程结束,返回执行性能监控任务,继续下一个周期的监控;否则转至执行具体的弹缩任务,自动通过注册或注销而相应的增加或者减少副本。副本具体可按照CPU使用率最低排序,通过自动销毁方式降低系统开销。而未被销毁的副本则保持通过以下方式屏蔽不同云厂商云环境接口之间的接口差异,实现对用户请求的发送和响应:
步骤1:通过资源管理微服务接收用户从UI发起的资源访问请求,如创建虚拟机,携带参数如虚拟机名称、镜像ID、规格ID、网络ID等,然后根据路由算法选择调用某个接口适配微服务器统一入口单元定义的北向REST接口;
步骤3:通过接口适配微服务器中的统一入口单元接收相应的用户请求;
步骤4:统一入口单元调用对应消息处理单元的应用程序接口以传递对应于上述用户请求的目标云环境接口标识和标准请求参数信息;
步骤5:消息处理单元中定义了一个抽象工厂IBaseFactory,根据不同目标云环境接口标识所对应的云环境接口类型(DcType)获取到具体的工厂实现,如:OpenStackFactory/AliCloudFactory等;
消息处理单元的具体工厂实现中,定义了各类资源的具体实现类,比如CreateInstanceImpl、CreateImageImpl、CreateVolumeImpl等,这些实现类负责将用户请求中对应的标准请求参数信息构造成对应目标云环境接口类型的标准请求体,生成资源访问请求,然后调用对应于目标云环境接口的接口,向相应的云环境接口发送所述资源访问请求;
步骤5:消息处理单元还在获取到不同类型云环境接口的对用户请求的响应结果后,通过适配响应参数信息与标准响应参数信息之间的转换,屏蔽不同云环境接口之间的差异性,将该响应结果转换为标准格式的响应信息。由此,对于上层服务而言,上层服务可通过消息处理单元的运算而直接获取到无差别的响应,从而大大提升开发的效率。
由此,本发明实施例可以针对实际生产场景下,单个微服务承受不住高并发流量的问题,进一步根据业务流量的大小对微服务进行水平扩展,使用多个微服务副本共同承担流量。本发明实施例所采用的基于阈值的规则(threshold-based rules)实现方式,可基于CPU使用率、内存使用率等性能指标,动态增加或减少实例,以在运算负荷较高时通过增加接口适配微服务器的副本数量,通过多个微服务副本共同承担流量;而在运算符合较低时通过减少接口适配微服务器的副本数量降低系统开销。
以上仅为本发明实施例的实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明实施例专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明实施例构思的前提下,还可以做出若干变形和改进,这些均属于本发明实施例的保护范围。
Claims (10)
1.一种基于微服务的多云接口适配方法,其特征在于,
在接收到用户请求后,调用接口适配微服务器所定义的接口,向接口适配微服务器传递用户请求,以触发接口适配微服务器内部响应于所述用户请求执行以下步骤:
对所述用户请求进行转换和封装,生成资源访问请求,向相应的云环境接口发送所述资源访问请求;
在接收到云环境接口返回的响应结果后,将该响应结果转换为标准格式的响应信息,以供向用户展示。
2.如权利要求1所述的基于微服务的多云接口适配方法,其特征在于,所述接口适配微服务器中设置有:统一入口单元,所述统一入口单元定义有分别针对不同资源的北向REST接口以接收不同用户请求。
3.如权利要求2所述的基于微服务的多云接口适配方法,其特征在于,所述用户请求中包含:至少一个目标云环境接口标识,以及对应于所请求的资源的标准请求参数信息。
4.如权利要求3所述的基于微服务的多云接口适配方法,其特征在于,所述接口适配微服务器中还设置有:消息处理单元;
所述消息处理单元用于:对所述用户请求中的标准请求参数信息按照目标云环境接口标识所对应的标准格式进行转换和封装,生成资源访问请求,相应的向该目标云环境接口标识所对应的云环境接口发送所述资源访问请求;
所述消息处理单元还用于:在接收到云环境接口返回的响应结果后,将该响应结果转换为标准格式的响应信息,所述标准格式与返回响应结果的云环境接口相匹配。
5.如权利要求4所述的基于微服务的多云接口适配方法,其特征在于,所述统一入口单元在接收到用户请求后,调用对应于所述消息处理单元的应用程序接口以传递相应的目标云环境接口标识和标准请求参数信息。
6.如权利要求1所述的基于微服务的多云接口适配方法,其特征在于,所述接口适配微服务器具有多个副本,各副本分别由各自独立的运算单元执行,各副本均按照以下步骤向API Gateway注册或注销,并由API Gateway统一分配其所接收的用户请求:
在连续的N个判决周期均判断现有副本的运算负荷超出性能指标上限后,触发注册新的副本,并向所述新的副本分配用户请求;
在连续的N个判决周期均判断现有副本的运算负荷低于性能指标下限后,停止向运算负荷最低的副本分配用户请求,并触发注销该副本。
7.一种基于微服务的多云接口适配系统,其特征在于,包括:
资源管理微服务单元,其用于在接收到用户请求后,调用接口适配微服务器所定义的接口,向接口适配微服务器传递具有目标云环境接口标识和标准请求参数信息的用户请求;
所述接口适配微服务器用于:对所述用户请求中的标准请求参数信息按照目标云环境接口标识所对应的标准格式进行转换和封装,生成资源访问请求,向相应的云环境接口发送所述资源访问请求;所述接口适配微服务器还用于:在接收到云环境接口返回的响应结果后,将该响应结果转换为标准格式的响应信息,以供向用户展示;
所述资源管理微服务与所述接口适配微服务器之间通过北向REST接口交互。
8.如权利要求7所述的基于微服务的多云接口适配系统,其特征在于,所述接口适配微服务器的数量不低于2个,各接口适配微服务器之间基于容器独立运行,各接口适配微服务器均按照以下步骤向API Gateway注册或注销,并由API Gateway统一分配其所接收的用户请求:
在连续的N个判决周期均判断现有接口适配微服务器的运算负荷超出性能指标上限后,触发注册新的接口适配微服务器,并向所述新的接口适配微服务器分配用户请求;
在连续的N个判决周期均判断现有接口适配微服务器的运算负荷低于性能指标下限后,停止向运算负荷最低的接口适配微服务器分配用户请求,并触发注销该接口适配微服务器。
9.如权利要求7所述的基于微服务的多云接口适配系统,其特征在于,每一个所述接口适配微服务器均包括:
统一入口单元,所述统一入口单元定义有分别针对不同资源的北向REST接口以接收不同用户请求;
消息处理单元,其通过应用程序接口与所述统一入口单元交互,用于对所述用户请求中的标准请求参数信息按照目标云环境接口标识所对应的标准格式进行转换和封装,生成资源访问请求,向相应的云环境接口发送所述资源访问请求;还用于:在接收到云环境接口返回的响应结果后,将该响应结果转换为标准格式的响应信息。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,实现如权利要求1至6任一项所述的基于微服务的多云接口适配方法的步骤。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011612974.7A CN114691567A (zh) | 2020-12-30 | 2020-12-30 | 基于微服务的多云接口适配方法、系统及存储介质 |
PCT/CN2021/142052 WO2022143653A1 (zh) | 2020-12-30 | 2021-12-28 | 基于微服务的多云接口适配方法、系统及存储介质 |
EP21914387.2A EP4270204A4 (en) | 2020-12-30 | 2021-12-28 | METHOD AND SYSTEM FOR ADJUSTING A MULTI-CLOUD INTERFACE BASED ON A MICROSERVICE AND STORAGE MEDIUM |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011612974.7A CN114691567A (zh) | 2020-12-30 | 2020-12-30 | 基于微服务的多云接口适配方法、系统及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114691567A true CN114691567A (zh) | 2022-07-01 |
Family
ID=82131874
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011612974.7A Pending CN114691567A (zh) | 2020-12-30 | 2020-12-30 | 基于微服务的多云接口适配方法、系统及存储介质 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP4270204A4 (zh) |
CN (1) | CN114691567A (zh) |
WO (1) | WO2022143653A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115550093A (zh) * | 2022-09-13 | 2022-12-30 | 海尔优家智能科技(北京)有限公司 | 应用调研方法、存储介质及电子装置 |
CN115756890A (zh) * | 2022-11-18 | 2023-03-07 | 中国科学技术大学 | 量子计算云平台和量子计算方法 |
CN116010126A (zh) * | 2023-02-09 | 2023-04-25 | 中国证券登记结算有限责任公司 | 一种服务聚合方法、装置及系统 |
CN116708552A (zh) * | 2022-09-30 | 2023-09-05 | 腾讯云计算(北京)有限责任公司 | 一种地铁微服务注册方法、装置、设备及可读存储介质 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115168061B (zh) * | 2022-09-09 | 2022-12-20 | 北京镜舟科技有限公司 | 一种计算存储分离方法、系统、电子设备及存储介质 |
CN115883405A (zh) * | 2022-11-25 | 2023-03-31 | 上海浦东发展银行股份有限公司 | 一种服务检测系统 |
TWI826182B (zh) * | 2022-12-13 | 2023-12-11 | 奔騰網路科技股份有限公司 | 雲平台管理系統 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10643160B2 (en) * | 2016-01-16 | 2020-05-05 | International Business Machines Corporation | Order optimization in hybrid cloud networks |
CN107659624A (zh) * | 2017-09-06 | 2018-02-02 | 国云科技股份有限公司 | 一种适用于云计算的异构云管理系统及方法 |
CN108449418B (zh) * | 2018-03-29 | 2021-08-06 | 新华三云计算技术有限公司 | 一种混合云平台管理系统及方法 |
CN109561147A (zh) * | 2018-11-30 | 2019-04-02 | 武汉烽火信息集成技术有限公司 | 一种异构云管理方法及系统、异构云管理系统构建方法 |
CN111858101B (zh) * | 2020-07-28 | 2023-05-26 | 深圳平安医疗健康科技服务有限公司 | 面向云架构系统的适配方法、装置、设备及存储介质 |
-
2020
- 2020-12-30 CN CN202011612974.7A patent/CN114691567A/zh active Pending
-
2021
- 2021-12-28 WO PCT/CN2021/142052 patent/WO2022143653A1/zh unknown
- 2021-12-28 EP EP21914387.2A patent/EP4270204A4/en active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115550093A (zh) * | 2022-09-13 | 2022-12-30 | 海尔优家智能科技(北京)有限公司 | 应用调研方法、存储介质及电子装置 |
CN116708552A (zh) * | 2022-09-30 | 2023-09-05 | 腾讯云计算(北京)有限责任公司 | 一种地铁微服务注册方法、装置、设备及可读存储介质 |
CN115756890A (zh) * | 2022-11-18 | 2023-03-07 | 中国科学技术大学 | 量子计算云平台和量子计算方法 |
CN116010126A (zh) * | 2023-02-09 | 2023-04-25 | 中国证券登记结算有限责任公司 | 一种服务聚合方法、装置及系统 |
CN116010126B (zh) * | 2023-02-09 | 2023-06-27 | 中国证券登记结算有限责任公司 | 一种服务聚合方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2022143653A1 (zh) | 2022-07-07 |
EP4270204A4 (en) | 2024-02-21 |
EP4270204A1 (en) | 2023-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114691567A (zh) | 基于微服务的多云接口适配方法、系统及存储介质 | |
US11354167B2 (en) | Container service management method and apparatus | |
EP3723325B1 (en) | Network service management method, related device and system | |
EP3313023A1 (en) | Life cycle management method and apparatus | |
US20170373931A1 (en) | Method for updating network service descriptor nsd and apparatus | |
EP3200393A1 (en) | Method and device for virtual network function management | |
CN111221618B (zh) | 一种容器化虚拟网络功能的部署方法和装置 | |
EP3413511B1 (en) | Vnfm determining method and network function virtualization orchestrator | |
WO2020011214A1 (zh) | 管理虚拟化资源的方法和装置 | |
CN111835679B (zh) | 多租户场景下的租户资源管理方法和装置 | |
EP3261299A1 (en) | Method and apparatus for establishing network service instance | |
EP3079339A1 (en) | Method, device, and esb system for data processing | |
CN114301914B (zh) | 一种云边协同方法、装置及存储介质 | |
CN112448987A (zh) | 一种熔断降级的触发方法、系统和存储介质 | |
CN111835797A (zh) | 一种数据处理方法、装置及设备 | |
CN112003931B (zh) | 一种编排控制器部署方法、系统及相关组件 | |
CN116724543A (zh) | 容器集群的管理方法和装置 | |
CN109933959B (zh) | 一种许可证控制方法及相关设备 | |
US20190158354A1 (en) | Resource configuration method and apparatus | |
CN105827567B (zh) | 服务管控方法及能力开放平台 | |
CN112015515B (zh) | 一种虚拟网络功能的实例化方法及装置 | |
CN117519989B (zh) | 一种分布式系统托管方法、装置、电子设备及存储介质 | |
CN117806775B (zh) | Kubernetes集群的容器资源处理方法和装置 | |
US20240241709A1 (en) | Software Module Deployment Methods and Apparatus | |
CN113961646A (zh) | 数据同步方法、装置和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |