CN113946451A - 一种微服务调用方法、装置、系统及计算机设备 - Google Patents

一种微服务调用方法、装置、系统及计算机设备 Download PDF

Info

Publication number
CN113946451A
CN113946451A CN202111011912.5A CN202111011912A CN113946451A CN 113946451 A CN113946451 A CN 113946451A CN 202111011912 A CN202111011912 A CN 202111011912A CN 113946451 A CN113946451 A CN 113946451A
Authority
CN
China
Prior art keywords
request
micro
service
target
calling
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
Application number
CN202111011912.5A
Other languages
English (en)
Inventor
孙广宇
李章伟
许厚金
史承毅
孙宁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Du Xiaoman Technology Beijing Co Ltd
Original Assignee
Du Xiaoman Technology Beijing Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Du Xiaoman Technology Beijing Co Ltd filed Critical Du Xiaoman Technology Beijing Co Ltd
Priority to CN202111011912.5A priority Critical patent/CN113946451A/zh
Publication of CN113946451A publication Critical patent/CN113946451A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/541Client-server

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种微服务调用方法,该方法获取外部系统对微服务系统中微服务的调用请求,在微服务直接响应请求前进行请求的拦截,将微服务与外部系统隔离,实现微服务与外部系统的统一对接,统一实现有效性校验,保证了服务的安全性,避免了微服务端单独的对接服务的搭建,降低了微服务的开发成本;而且在将有效请求转发至请求调用的微服务之前,统一对请求进行协议的转换,将其转换为请求调用的微服务支持的格式后再进行请求的转发,从而减少了外部系统的服务改造成本以及接入成本,实现了成本的降低。本发明还公开了一种微服务调用装置、系统及计算机设备,具有相应的技术效果。

Description

一种微服务调用方法、装置、系统及计算机设备
技术领域
本发明涉及微服务技术领域,特别是涉及一种微服务调用方法、装置、系统及计算机设备。
背景技术
微服务架构(Microservice Architecture)旨在通过将功能分解到各个离散的服务中以实现对解决方案的解耦,基于微服务架构搭建的微服务系统把一个大型的单个应用程序和服务拆分为数个甚至数十个的支持微服务,以微服务作为组件耦合实现不同的应用程序功能,从而完成了应用的有效拆分,可以实现敏捷开发和部署。
出于服务调用需求,存在外部系统调用微服务系统中的微服务以满足自身使用需要的情况,为满足外部系统的调用,目前微服务系统中是由各个微服务与外部系统对接提供服务,该种服务提供方式下,由于微服务和外部系统自身属于完全独立的设计,为满足对接需求,需要在每个微服务上搭建相应的系统对接服务,比如鉴权等,微服务的开发成本较高;同时外部系统需要搭建多协议支持组件,以满足不同服务协议的微服务接入,对于外部系统来说接入成本较高;而且该种方式难以实现完全的服务隔离限制。
综上所述,如何降低外部系统与微服务对接成本,实现有效的服务隔离,是目前本领域技术人员急需解决的技术问题。
发明内容
本发明的目的是提供一种微服务调用方法、装置、系统及计算机设备,以降低外部系统与微服务对接成本,实现有效的服务隔离。
为解决上述技术问题,本发明提供如下技术方案:
一种微服务调用方法,包括:
获取微服务调用请求,根据请求校验规则对所述微服务调用请求进行有效性校验,得到校验后的有效请求;
确定所述有效请求中请求调用的微服务,作为目标微服务;
将所述有效请求的协议类型转换至所述目标微服务支持的协议类型,作为目标请求;
将所述目标请求转发至所述目标微服务。
可选地,所述根据请求校验规则对所述微服务调用请求进行有效性校验,包括:
确定所述微服务调用请求的发起用户以及请求参数,对所述发起用户以及所述请求参数进行合法性校验,得到合法请求;
判断所述合法请求是否具有接口访问权限;
若所述合法请求具有所述接口访问权限,将所述合法请求作为所述有效请求。
可选地,所述确定所述微服务调用请求的发起用户以及请求参数,对所述发起用户以及所述请求参数进行合法性校验,包括:
提取所述微服务调用请求中的请求参数;
将所述请求参数拼接为字符串;
确定所述发起用户对应的唯一性标识;
将所述字符串拼接所述唯一性标识,作为校验签名;
根据所述校验签名对所述微服务调用请求中的请求签名进行一致性校验;其中,所述请求签名的生成方式与所述校验签名相对应。
可选地,所述确定所述微服务调用请求的发起用户以及请求参数,对所述发起用户以及所述请求参数进行合法性校验,包括:
确定所述微服务调用请求的发起用户以及请求参数,根据所述发起用户对应的校验规则和/或请求接口对应的校验规则对所述发起用户以及所述请求参数进行合法性校验。
可选地,在所述将所述合法请求作为所述有效请求之前,还包括:
若所述合法请求具有所述接口访问权限,将所述发起用户的请求数加1;
判断所述请求数是否达到最大请求数量;
若达到,将所述合法请求作为无效请求;
若未达到,将所述合法请求作为所述有效请求。
可选地,所述将所述目标请求转发至所述目标微服务,包括:
判断与所述目标请求的发起端同机房中是否存在可调用的所述目标微服务;
若存在,将所述目标请求转发至同机房中的所述目标微服务;
若不存在,确定可用机房,并将所述目标请求转发至所述可用机房中的所述目标微服务。
可选地,在所述获取微服务调用请求之后,还包括:收集所述微服务调用请求对应的请求日志。
一种微服务调用装置,包括:
校验单元,用于获取微服务调用请求,根据请求校验规则对所述微服务调用请求进行有效性校验,得到校验后的有效请求;
服务确定单元,用于确定所述有效请求中请求调用的微服务,作为目标微服务;
协议转换单元,用于将所述有效请求的协议类型转换至所述目标微服务支持的协议类型,作为目标请求;
请求转发单元,用于将所述目标请求转发至所述目标微服务。
一种微服务系统,包括:如上所示的微服务调用装置以及微服务;
所述微服务调用装置用于根据获取到的微服务调用请求调用对应的微服务进行请求响应。
一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述微服务调用方法的步骤。
本发明实施例所提供的方法,获取外部系统对微服务系统中微服务的调用请求,在微服务直接响应请求前进行请求的拦截,将微服务与外部系统隔离,实现微服务与外部系统的统一对接,统一实现有效性校验,保证了服务的安全性,避免了微服务端单独的对接服务的搭建,降低了微服务的开发成本;而且在将有效请求转发至请求调用的微服务之前,统一对请求进行协议的转换,将其转换为请求调用的微服务支持的格式后再进行请求的转发,从而减少了外部系统的服务改造成本以及接入成本,实现了成本的降低。
相应地,本发明实施例还提供了与上述微服务调用方法相对应的微服务调用装置、设备和可读存储介质,具有上述技术效果,在此不再赘述。
附图说明
为了更清楚地说明本发明实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中一种微服务调用方法的实施流程图;
图2为本发明实施例中一种协议转换示意图;
图3为本发明实施例中一种微服务调用方法的信令图;
图4为本发明实施例中一种微服务调用装置的结构示意图
图5为本发明实施例中一种微服务系统的结构示意图;
图6为本发明实施例中一种计算机设备的结构示意图。
具体实施方式
本发明的核心是提供一种微服务调用方法,可以降低外部系统与微服务对接成本,实现有效的服务隔离。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参考图1,图1为本发明实施例中一种微服务调用方法的流程图,该方法包括以下步骤:
S101、获取微服务调用请求,根据请求校验规则对微服务调用请求进行有效性校验,得到校验后的有效请求;
微服务调用请求指外部系统发起的用于调用微服务的请求,相关技术中外部系统发起的微服务调用请求直接由请求的微服务接收,由微服务对请求进行校验以及响应,在本发明中,为避免这种多对多的微服务调用模式对于微服务和外部系统带来的开发工作量大以及接入复杂等问题,在微服务调用请求由微服务接收之前,通过统一的设备(即本方法的执行主体)实现微服务调用请求的响应,而本实施例中对于这“统一的设备”的设备类型不做限定,可以根据实际使用的功能需要以及搭建难易程度进行执行主体的选择,同时本实施例中对于微服务系统中部署的微服务项目以及类型不做限定,可以根据实际微服务调用的需要进行相应的设置。
另外,获取微服务调用请求的实现可以通过请求的拦截或在外部系统规定请求接收端等方式来实现,在此不做限定。在获取到外部系统向微服务发起的微服务调用请求后,出于服务安全性的需求,需要对微服务调用请求进行有效性校验,其中有效性校验指对请求自身是否合法以及请求对于微服务自身是否会产生不利影响进行校验,具体的校验项目可以根据实际安全性需求进行设定,比如可以设置请求发起用户身份的校验、请求的微服务的调用权限的校验等。
S102、确定有效请求中请求调用的微服务,作为目标微服务;
经过有效性校验后,获取经过校验的有效请求,确定其请求调用的微服务对象。而对于无效请求,本实施例中对其处理方式不做限定,可以根据实际安全性需要进行无效请求提示、将请求端拉入黑名单等,在此仅以上述两种方式为例进行无效请求处理方式的介绍,在此不再赘述。
S103、将有效请求的协议类型转换至目标微服务支持的协议类型,作为目标请求;
作为统一的请求处理方,除了有效性验证之外还需要提供API的接入规范,以保证对微服务接入请求协议的转换,从而可以减少服务改造成本以及外部系统接入的成本。
由于不同的外部系统的请求协议类型可能不同,而不同的微服务所支持的协议类型也可能不同,而本实施例中对发起请求的外部系统以及请求的微服务均不作限定,因此对于转换前的协议和转换后的协议类型也不做限定,需要根据应用场景进行设定。为加深理解,以外部系统客户端发起HTTP协议请求为例,请求的微服务支持RPC协议,获取到该HTTP协议请求后,由API网关(本方法的一种执行主体)将请求数据转化为RPC的proto(数据交换格式)格式,然后转发到微服务,接收到微服务反馈的响应后,解析proto格式的响应,将其转换为外部系统客户端可用的JSON(一种轻量级的数据交换格式)格式,如图2所示。
S104、将目标请求转发至目标微服务。
通过统一的请求处理后,将处理后的目标请求转发至目标微服务,以实现请求的响应,请求的转发方式本实施例中不做限定,比如可以通过bns系统实现请求的转发。而对于目标微服务接收到请求之后的微服务处理流程本实施例中不再赘述,可以参照相关微服务处理方式。需要说明的是,由于部分请求在微服务处理后还需要反馈相应的信息至请求方,而反馈的信息则需要经过步骤S103的协议反转换后,得到外部系统直接可读的协议类型后在转发至请求方。其中协议反转换的实现方式可以参照上述步骤的介绍,在此不再赘述。
基于上述介绍,本发明实施例所提供的技术方案,获取外部系统对微服务系统中微服务的调用请求,在微服务直接响应请求前进行请求的拦截,将微服务与外部系统隔离,实现微服务与外部系统的统一对接,统一实现有效性校验,保证了服务的安全性,避免了微服务端单独的对接服务的搭建,降低了微服务的开发成本;而且在将有效请求转发至请求调用的微服务之前,统一对请求进行协议的转换,将其转换为请求调用的微服务支持的格式后再进行请求的转发,从而减少了外部系统的服务改造成本以及接入成本,实现了成本的降低。
需要说明的是,基于上述实施例,本发明实施例还提供了相应的改进方案。在优选/改进实施例中涉及与上述实施例中相同步骤或相应步骤之间可相互参考,相应的有益效果也可相互参照,在本文的优选/改进实施例中不再一一赘述。
上述实施例中对于针对微服务调用请求进行有效性校验的具体校验项目不做限定,本实施例中介绍一种校验方式,以实现对于微服务的可靠保障。
可选地,对于微服务调用请求的有效性校验可以包括三部分:用户身份校验、请求参数校验以及接口权限校验。其中,通过用户身份校验可以隔离非法用户对于微服务的调用干扰,保障请求发起的安全性;请求参数校验可以避免请求传输过程中请求参数被非法篡改后对于微服务的调用干扰,保障请求传输的安全性;接口权限校验可以避免没有调用权限的请求对于微服务的调用干扰,保障微服务自身访问权限。从用户身份校验、请求参数校验以及接口权限校验进行微服务调用请求的有效性校验可以从请求生成到接收实现全流程的合法性监控,严密保障微服务接收到请求的有效性。
则相应地,上述实施例中步骤S101根据请求校验规则对微服务调用请求进行有效性校验具体可以包括以下步骤:
(1)确定微服务调用请求的发起用户以及请求参数,对发起用户以及请求参数进行合法性校验,得到合法请求;
其中,对于具体的用户身份以及请求参数的合法性校验方式本实施例中不做限定,可选地,一种实现方式如下:
(1.1)提取微服务调用请求中的请求参数;
获取到微服务调用请求后,提取出其中的请求参数,请求参数的具体数据项可以根据实际校验的需要进行设定,比如可以包括请求发起时间、请求设备、请求的微服务对象、请求服务类型等。
(1.2)将请求参数拼接为字符串;
将所有请求参数按照一定规则拼接成字符串,其中具体的拼接规则在此不做限定,可以参照相关技术的实现。
(1.3)确定发起用户对应的唯一性标识;
唯一性标识可以为预先为不同的外部系统分配的标识信息,比如api_key;也可以为外部系统本身的标识信息,比如系统编号等,在此不做限定。
(1.4)将字符串拼接唯一性标识,作为校验签名;
将字符串和唯一性标识进行拼接,拼接方式可以参照上述步骤(1.2)的介绍,在此不再赘述。
将字符串和唯一性标识进行拼接后,将拼接生成的数据作为校验签名,用以对外部系统发起的请求签名进行校验。其中,请求签名为外部系统生成的签名,其生成方式与校验签名相对应,在此不再赘述。
(1.5)根据校验签名对微服务调用请求中的请求签名进行一致性校验;
由于请求的生成方式与校验签名相对应,若两者相同,证明唯一性标识和请求参数均正确,若不同,证明唯一性标识和请求参数中至少存在一项错误。
上述校验方式通过一次一致性校验可以同时实现用户身份和请求参数的双重校验,从而显著提升校验速度,提升实现效率。
上述校验方式以一种统一性校验方式可以同时实现双重校验,而其中的合法和非法的评判规则可以根据不同的外部系统或者不同的接口做不同的限制规则,从而实现不同粒度的校验,满足不同使用对象的使用需求,比如为外部系统1设置对应的校验规则1,为外部系统2设置校验规则2,则针对不同外部系统的请求校验可以适应性调用响应的校验规则,当然,也可以为不同的外部系统或接口设置相同的校验规则,在此不做限定。
本实施例中仅以上述校验方式为例进行介绍,其他校验方式均可参照本实施例的介绍,在此不再赘述。
(2)判断合法请求是否具有接口访问权限;
在后台为每个外部系统配置有接口权限,验证用户身份和请求参数后,检查用户是否有访问当前接口的权限,当前接口即请求调用的微服务的调用接口。
(3)若合法请求具有接口访问权限,将合法请求作为有效请求。
若合法请求具有接口访问权限,证明用户身份、请求参数以及接口权限验证均通过,此时全部校验通过,可以将合法请求作为有效请求实现请求的响应。
另外,基于上述实施例,为进一步避免合法用户被非法盗用后对于服务本身性能的影响,在进行合法性校验之后,将合法请求作为有效请求之前,还可以根据请求数量进行请求拦截。具体地:
(4)若合法请求具有接口访问权限,将发起用户的请求数加1;
当请求验证通过后,将用户请求数加1,其中请求数的存储位置不做限定,为提升数据存取效率,比如可以采用ckv(Cloud Key Value键值云存储)作为计数缓存等,在此不再赘述。
(5)判断请求数是否达到最大请求数量;若达到,执行步骤(6);若未达到,执行步骤(7);
确定请求数的累加值,如果累加的请求数达到用户最大请求数量,则将合法请求作为无效请求,拦截用户请求,避免其对于微服务的性能影响,保证后端服务的可用性;若累加的请求数未达到用户最大请求数量,则可以继续响应该用户发起的请求,直接执行后续的请求响应步骤。
(6)将合法请求作为无效请求;
(7)将合法请求作为有效请求。
需要说明的是,本实施例中仅以用户请求数作为累加量进行频次的控制,此外还可以设置设备请求数或者系统请求数的频次控制等,可以根据实际使用需要进行频次控制量的设定,在此不再赘述。
本实施例中通过对请求进行频次控制,可以避免频繁大量的请求对微服务自身性能的影响,避免微服务占用过多性能在请求的响应,也可以帮助及时发现非法用户或非法请求,保证系统运行效率以及安全性。
另外,为避免在微服务调用时带来较大的网络损耗,在将目标请求转发至目标微服务可以首先在同机房机器之内调用,以减少跨机房调用带来的网络损耗具体地,将目标请求转发至目标微服务的实现具体可以包括以下步骤:
(1)判断与目标请求的发起端同机房中是否存在可调用的目标微服务;若存在,执行下述步骤(2);若不存在,执行下述步骤(3);
(2)将目标请求转发至同机房中的目标微服务;
(3)确定可用机房,并将目标请求转发至可用机房中的目标微服务。
该方法中优先考虑同机房机器的调用,如果同机房可调用,则直接将请求转发到同机房机器,以减少因为跨机房带来的网络损耗,而如果同机房机器全部down掉,可以转发到其他可用机房,从而实现多机房间的负载均衡。
基于上述实施例,为进一步提升校验规则精准度以及系统的维护效率,可以对各微服务进行日志记录,收集微服务调用请求对应的请求日志。统一记录各个服务的请求日志,可以很方便的产出不同微服务的响应数据,并可以根据配置,及时监测到服务异常,以便于尽快在异常时通知上下游,减少业务损失,实现业务的全面监控。
而日志的记录收集工作的实现方式本实施例中不做限定,由于不同的微服务可能分布在不同的机房和机器上,为避免统一收集,提升收集效率,可以通过Logstash将各个日志统一收集,当然,也可以采用其他的日志收集方式,在此不做限定。
为加深对于上述方法实施例的理解,本实施例中以执行主体为API网关,以通过API网关响应外部系统请求调用数据解析微服务为例,进行微服务调用方法的介绍,如图3所示为一种信令图。
各微服务提供方将微服务注册到API网关;
客户端A向数据解析微服务发起数据解析请求,请求将数据1解析为格式2,该请求由客户端A发出后由API网关接收;
API网关接收到该请求后,对其进行有效性校验,具体包括:用户身份、请求参数以及访问权限的校验;
API网关经过有效性校验过滤掉非法、无法处理的请求后,判断该请求的发起用户的请求数是否达到阈值;
若达到阈值,API网关拦截该请求(图中未示出);若没有达到阈值,API网关将有效请求转换为数据解析微服务可识别的协议格式;
API网关判断与客户端A同机房的机器中是否存在可调用的数据解析微服务;
若存在,API网关将协议格式转换后的请求转发至同机房的机器中;若不存在,确定跨机房可调用的数据解析微服务并进行请求的转发(图中未示出机房间的差异);
数据解析微服务接收到请求后将数据1解析为格式2,并将解析后的数据转发至API网关;
API网关接收到数据解析微服务反馈的数据后,将其转换为客户端A可识别的协议格式;
API网关将协议格式转换后的数据转发至客户端A,至此,客户端A与微服务间的一次数据交互完成。
需要说明的是,本实施例中仅以解析微服务的调用为例进行介绍,其他微服务的调用实现方式均可参照本实施例,在此不再赘述。
相应于上面的方法实施例,本发明实施例还提供了一种微服务调用装置,下文描述的微服务调用装置与上文描述的微服务调用方法可相互对应参照。
参见图4所示,该装置包括以下模块:
校验单元110主要用于获取微服务调用请求,根据请求校验规则对微服务调用请求进行有效性校验,得到校验后的有效请求;
服务确定单元120主要用于确定有效请求中请求调用的微服务,作为目标微服务;
协议转换单元130主要用于将有效请求的协议类型转换至目标微服务支持的协议类型,作为目标请求;
请求转发单元140主要用于将目标请求转发至目标微服务。
在本发明的一种具体实施方式中,微服务调用装置具体可以为:API网关系统。
相应于上面的装置实施例,本发明实施例还提供了一种微服务系统,下文描述的微服务系统与上文描述的微服务调用装置可相互对应参照。
参见图5所示,该系统包括以下:微服务调用装置以及微服务;
其中,微服务调用装置可以参照上述实施例的介绍,在此不再赘述。
在微服务系统中微服务的类型以及数量不做限定,可以根据实际应用场景的需要进行微服务的配置,一般来说微服务可以尽量多的配置,以满足不同的功能需要。
通过微服务调用装置获取请求,将请求与微服务隔离,对请求进行统一的权限管理、流量控制、鉴权控制、监控报警、协议转换、频次限制等功能的实现,将经过校验的有效的微服务可直接读取的请求转发至对应请求的微服务,从而实现微服务的功能响应。
基于上述介绍,本实施例提供的微服务系统可以实现完整的功能调用。
相应于上面的方法实施例,本发明实施例还提供了一种计算机设备,下文描述的一种计算机设备与上文描述的一种微服务调用方法可相互对应参照。
该计算机设备包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现上述方法实施例的微服务调用方法的步骤。
具体的,请参考图6,为本实施例提供的一种计算机设备的具体结构示意图,该计算机设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)322(例如,一个或一个以上处理器)和存储器332,存储器332存储有一个或一个以上的计算机应用程序342或数据344。其中,存储器332可以是短暂存储或持久存储。存储在存储器332的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对数据处理设备中的一系列指令操作。更进一步地,中央处理器322可以设置为与存储器332通信,在计算机设备301上执行存储器332中的一系列指令操作。
计算机设备301还可以包括一个或一个以上电源326,一个或一个以上有线或无线网络接口350,一个或一个以上输入输出接口358,和/或,一个或一个以上操作系统341。
上文所描述的微服务调用方法中的步骤可以由计算机设备的结构实现。
本领域技术人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

Claims (10)

1.一种微服务调用方法,其特征在于,包括:
获取微服务调用请求,根据请求校验规则对所述微服务调用请求进行有效性校验,得到校验后的有效请求;
确定所述有效请求中请求调用的微服务,作为目标微服务;
将所述有效请求的协议类型转换至所述目标微服务支持的协议类型,作为目标请求;
将所述目标请求转发至所述目标微服务。
2.根据权利要求1所述的微服务调用方法,其特征在于,所述根据请求校验规则对所述微服务调用请求进行有效性校验,包括:
确定所述微服务调用请求的发起用户以及请求参数,对所述发起用户以及所述请求参数进行合法性校验,得到合法请求;
判断所述合法请求是否具有接口访问权限;
若所述合法请求具有所述接口访问权限,将所述合法请求作为所述有效请求。
3.根据权利要求2所述的微服务调用方法,其特征在于,所述确定所述微服务调用请求的发起用户以及请求参数,对所述发起用户以及所述请求参数进行合法性校验,包括:
提取所述微服务调用请求中的请求参数;
将所述请求参数拼接为字符串;
确定所述发起用户对应的唯一性标识;
将所述字符串拼接所述唯一性标识,作为校验签名;
根据所述校验签名对所述微服务调用请求中的请求签名进行一致性校验;其中,所述请求签名的生成方式与所述校验签名相对应。
4.根据权利要求2所述的微服务调用方法,其特征在于,所述确定所述微服务调用请求的发起用户以及请求参数,对所述发起用户以及所述请求参数进行合法性校验,包括:
确定所述微服务调用请求的发起用户以及请求参数,根据所述发起用户对应的校验规则和/或请求接口对应的校验规则对所述发起用户以及所述请求参数进行合法性校验。
5.根据权利要求2所述的微服务调用方法,其特征在于,在所述将所述合法请求作为所述有效请求之前,还包括:
若所述合法请求具有所述接口访问权限,将所述发起用户的请求数加1;
判断所述请求数是否达到最大请求数量;
若达到,将所述合法请求作为无效请求;
若未达到,将所述合法请求作为所述有效请求。
6.根据权利要求1所述的微服务调用方法,其特征在于,所述将所述目标请求转发至所述目标微服务,包括:
判断与所述目标请求的发起端同机房中是否存在可调用的所述目标微服务;
若存在,将所述目标请求转发至同机房中的所述目标微服务;
若不存在,确定可用机房,并将所述目标请求转发至所述可用机房中的所述目标微服务。
7.根据权利要求1所述的微服务调用方法,其特征在于,在所述获取微服务调用请求之后,还包括:收集所述微服务调用请求对应的请求日志。
8.一种微服务调用装置,其特征在于,包括:
校验单元,用于获取微服务调用请求,根据请求校验规则对所述微服务调用请求进行有效性校验,得到校验后的有效请求;
服务确定单元,用于确定所述有效请求中请求调用的微服务,作为目标微服务;
协议转换单元,用于将所述有效请求的协议类型转换至所述目标微服务支持的协议类型,作为目标请求;
请求转发单元,用于将所述目标请求转发至所述目标微服务。
9.一种微服务系统,其特征在于,包括:如权利要求8所示的微服务调用装置以及微服务;
所述微服务调用装置用于根据获取到的微服务调用请求调用对应的微服务进行请求响应。
10.一种计算机设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述微服务调用方法的步骤。
CN202111011912.5A 2021-08-31 2021-08-31 一种微服务调用方法、装置、系统及计算机设备 Pending CN113946451A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111011912.5A CN113946451A (zh) 2021-08-31 2021-08-31 一种微服务调用方法、装置、系统及计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111011912.5A CN113946451A (zh) 2021-08-31 2021-08-31 一种微服务调用方法、装置、系统及计算机设备

Publications (1)

Publication Number Publication Date
CN113946451A true CN113946451A (zh) 2022-01-18

Family

ID=79327703

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111011912.5A Pending CN113946451A (zh) 2021-08-31 2021-08-31 一种微服务调用方法、装置、系统及计算机设备

Country Status (1)

Country Link
CN (1) CN113946451A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114363092A (zh) * 2022-03-17 2022-04-15 万商云集(成都)科技股份有限公司 一种用于云容器引擎微服务部署的网关及方法
CN114942856A (zh) * 2022-07-22 2022-08-26 浙江中控技术股份有限公司 微服务系统的数据处理方法、装置及电子设备
CN115623053A (zh) * 2022-08-12 2023-01-17 华能烟台八角热电有限公司 一种基于api网关的数据管理方法及系统
CN115795400A (zh) * 2023-02-07 2023-03-14 云启智慧科技有限公司 面向大数据分析的应用融合架构
CN116094773A (zh) * 2022-12-26 2023-05-09 浪潮通信信息系统有限公司 一种无侵入服务接口合法性校验方法、系统及装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114363092A (zh) * 2022-03-17 2022-04-15 万商云集(成都)科技股份有限公司 一种用于云容器引擎微服务部署的网关及方法
CN114363092B (zh) * 2022-03-17 2022-05-17 万商云集(成都)科技股份有限公司 一种用于云容器引擎微服务部署的网关及方法
CN114942856A (zh) * 2022-07-22 2022-08-26 浙江中控技术股份有限公司 微服务系统的数据处理方法、装置及电子设备
CN115623053A (zh) * 2022-08-12 2023-01-17 华能烟台八角热电有限公司 一种基于api网关的数据管理方法及系统
CN116094773A (zh) * 2022-12-26 2023-05-09 浪潮通信信息系统有限公司 一种无侵入服务接口合法性校验方法、系统及装置
CN115795400A (zh) * 2023-02-07 2023-03-14 云启智慧科技有限公司 面向大数据分析的应用融合架构

Similar Documents

Publication Publication Date Title
CN113946451A (zh) 一种微服务调用方法、装置、系统及计算机设备
US8713177B2 (en) Remote management of networked systems using secure modular platform
CN110830463A (zh) 第三方授权登录方法和装置
CN106911648B (zh) 一种环境隔离方法及设备
US20130232470A1 (en) Launching an application stack on a cloud platform environment
WO2014159304A1 (en) Relay service for different web service architectures
US11909845B2 (en) Methods and systems for managing applications of a multi-access edge computing environment
JP2024505692A (ja) ブロックチェーンネットワークに基づくデータ処理方法、装置及びコンピュータ機器
US20210344766A1 (en) Systems and methods for decentralization of blockchain-based processes employing a blockchain-associated front end or blockchain-associated user interface
CN111061685A (zh) 日志查询方法、装置、节点设备及存储介质
CN115118705A (zh) 一种基于微服务的工业边缘管控平台
CN111726328B (zh) 用于对第一设备进行远程访问的方法、系统以及相关设备
CN111212117A (zh) 一种远程交互的方法和装置
WO2024103943A1 (zh) 一种业务处理方法、装置、存储介质及设备
CN111600755B (zh) 上网行为管理系统和方法
CN113761509A (zh) iframe验证登录方法及装置
CN116170234B (zh) 一种基于虚拟账号认证的单点登录方法和系统
CN107222361A (zh) 数据采集方法、系统、计算机设备和介质
CN116633725A (zh) 一种全渠道接入网关
CN113778709B (zh) 接口调用方法、装置、服务器及存储介质
CN113158195B (zh) 一种基于poc脚本的分布式漏洞扫描方法及系统
CN115396221A (zh) 授权处理方法及装置、系统、电子设备及存储介质
CN114065182A (zh) 一种微服务应用认证方法、系统及装置
CN112953969A (zh) 网络请求的响应方法、装置、计算机设备及存储介质
JP2022007690A (ja) ネットワークサービスシステム、ネットワーク管理方法およびコンピュータプログラム

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