CN112631804A - 基于隔离环境的服务调用请求处理方法及计算机设备 - Google Patents

基于隔离环境的服务调用请求处理方法及计算机设备 Download PDF

Info

Publication number
CN112631804A
CN112631804A CN202011564486.3A CN202011564486A CN112631804A CN 112631804 A CN112631804 A CN 112631804A CN 202011564486 A CN202011564486 A CN 202011564486A CN 112631804 A CN112631804 A CN 112631804A
Authority
CN
China
Prior art keywords
node
isolation
service
micro
link
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.)
Granted
Application number
CN202011564486.3A
Other languages
English (en)
Other versions
CN112631804B (zh
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.)
Hangzhou Tuya Information Technology Co Ltd
Original Assignee
Hangzhou Tuya Information Technology 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 Hangzhou Tuya Information Technology Co Ltd filed Critical Hangzhou Tuya Information Technology Co Ltd
Priority to CN202011564486.3A priority Critical patent/CN112631804B/zh
Publication of CN112631804A publication Critical patent/CN112631804A/zh
Application granted granted Critical
Publication of CN112631804B publication Critical patent/CN112631804B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/546Message passing systems or structures, e.g. queues

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请实施例公开了一种基于隔离环境的服务调用请求处理方法及计算机设备,使得微服务调用链路能够按照强制路由方式和非强制路由方式进行路由。本申请实施例包括:向每个微服务分支赋予隔离标签,并确定隔离标签与服务调用请求携带的标签相同的微服务分支为链路节点,每个隔离环境只需部署一部分微服务分支,因为当任一链路节点的备选下游节点中不存在与该任一链路节点的上游节点的隔离标签关联的备选下游节点时,即备选下游节点均没有部署在该任一链路节点的隔离环境中时,只需要将部署于稳定环境中的备选下游节点作为该任一链路节点的下游节点,从而实现链路调用的强制路由和非强制路由的灵活转换,并且隔离环境的部署不存在资源浪费。

Description

基于隔离环境的服务调用请求处理方法及计算机设备
技术领域
本申请实施例涉及项目开发领域,具体涉及一种基于隔离环境的服务调用请求处理方法及计算机设备。
背景技术
项目开发过程中需要将开发环境进行隔离,将开发环境分隔为多个隔离环境,每个隔离环境分别独立执行一项开发任务。现有技术中,每个隔离环境单独部署用于执行开发任务的多个微服务,隔离环境中部署的多个微服务通过链路依次调用,即当前微服务通过链路调用下一微服务。
例如,某一项开发任务的执行过程中,需要将5个微服务全都部署在一个隔离环境中,相比于将其中3个微服务部署在该隔离环境且另外2个微服务部署在稳定环境(即master分支)这一方案,将5个微服务全都部署在一个隔离环境这一方案会造成资源的浪费,因为每个隔离环境都是单独部署的,每个隔离环境都需要部署执行一项开发任务所必需的全部微服务。
但是,若一个隔离环境仅部署一部分微服务且另一部分微服务部署在稳定环境,则在链路调用的非强制路由方式中,当前节点处在隔离环境中时,当前节点可路由至下游的处于稳定环境中的微服务;但是当前节点处在稳定环境中时,当前节点却无法路由至下游的处于隔离环境中的微服务。在链路调用的强制路由方式中,当前节点处在隔离环境中时,若当前节点的下游不存在与当前节点处于同一隔离环境的微服务时,则当前节点之后无法再继续调用,相当于调用链路中断,影响开发任务的执行。
发明内容
本申请实施例提供了一种基于隔离环境的服务调用请求处理方法及计算机设备,使得微服务调用链路能够按照强制路由方式和非强制路由方式进行路由。
本申请实施例第一方面提供了一种基于隔离环境的服务调用请求处理方法,包括:
接收对隔离环境中部署的若干个微服务分支的服务调用请求,其中每个微服务分支均对应一个隔离标签;
确定隔离标签与所述服务调用请求携带的标签相同的微服务分支为所述服务调用请求对应的调用链路的链路节点,且当任一链路节点的备选下游节点中不存在与所述任一链路节点的上游节点的隔离标签关联的备选下游节点时,将部署于稳定环境中的备选下游节点作为所述任一链路节点的下游节点,以使服务调用请求方基于被确定的链路节点进行服务调用;
其中,所述备选下游节点为基于所述调用链路的调用顺序而确定的微服务的多个分支,微服务的每个分支部署于不同的隔离环境。
本申请实施例第二方面提供了一种计算机设备,包括:
接收单元,用于接收对隔离环境中部署的若干个微服务分支的服务调用请求,其中每个微服务分支均对应一个隔离标签;
请求处理单元,用于确定隔离标签与所述服务调用请求携带的标签相同的微服务分支为所述服务调用请求对应的调用链路的链路节点,且当任一链路节点的备选下游节点中不存在与所述任一链路节点的上游节点的隔离标签关联的备选下游节点时,将部署于稳定环境中的备选下游节点作为所述任一链路节点的下游节点,以使服务调用请求方基于被确定的链路节点进行服务调用;
其中,所述备选下游节点为基于所述调用链路的调用顺序而确定的微服务的多个分支,微服务的每个分支部署于不同的隔离环境。
本申请实施例第三方面提供了一种计算机设备,包括:
处理器、存储器、总线、输入输出设备;
所述处理器与所述存储器、输入输出设备相连;
所述总线分别连接所述处理器、存储器以及输入输出设备;
所述处理器用于接收对隔离环境中部署的若干个微服务分支的服务调用请求,其中每个微服务分支均对应一个隔离标签;确定隔离标签与所述服务调用请求携带的标签相同的微服务分支为所述服务调用请求对应的调用链路的链路节点,且当任一链路节点的备选下游节点中不存在与所述任一链路节点的上游节点的隔离标签关联的备选下游节点时,将部署于稳定环境中的备选下游节点作为所述任一链路节点的下游节点,以使服务调用请求方基于被确定的链路节点进行服务调用;其中,所述备选下游节点为基于所述调用链路的调用顺序而确定的微服务的多个分支,微服务的每个分支部署于不同的隔离环境。
本申请实施例第四方面提供了一种计算机存储介质,计算机存储介质中存储有指令,该指令在计算机上执行时,使得计算机执行前述第一方面的方法。
从以上技术方案可以看出,本申请实施例具有以下优点:
本申请实施例中,向每个微服务分支赋予隔离标签,并确定隔离标签与服务调用请求携带的标签相同的微服务分支为链路节点,每个隔离环境不需要部署执行一项任务分支所必备的所有微服务分支,只需部署一部分微服务分支,因为当任一链路节点的备选下游节点中不存在与该任一链路节点的上游节点的隔离标签关联的备选下游节点时,即备选下游节点均没有部署在该任一链路节点的隔离环境中时,只需要将部署于稳定环境中的备选下游节点作为该任一链路节点的下游节点,从而实现链路调用的强制路由和非强制路由的灵活转换,并且隔离环境的部署不存在资源浪费。
附图说明
图1为本申请实施例中基于隔离环境的服务调用请求处理方法一个流程示意图;
图2为本申请实施例中微服务的服务调用的一种场景示意图;
图3为本申请实施例中基于隔离环境的服务调用请求处理方法另一流程示意图;
图4为本申请实施例中计算机设备一个结构示意图;
图5为本申请实施例中计算机设备另一结构示意图。
具体实施方式
本申请实施例提供了一种基于隔离环境的服务调用请求处理方法及计算机设备,使得微服务调用链路能够按照强制路由方式和非强制路由方式进行路由。
请参阅图1,本申请实施例中基于隔离环境的服务调用请求处理方法一个实施例包括:
101、接收对隔离环境中部署的若干个微服务分支的服务调用请求;
本实施例的方法可应用于计算机设备,该计算机设备可以是服务器、终端等能够执行数据处理的计算机设备。该计算机设备为终端时,可以是个人电脑(personalcomputer,PC)、台式计算机等终端设备;该计算机设备为服务器时,可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云数据库、云计算以及大数据和人工智能平台等基础云计算服务的云服务器。
在项目开发的各个阶段中,每个阶段的开发环境之间需要相互隔离,这样能确保每个阶段之间的运行代码不会相互影响。同时,一个开发阶段中的每项任务分支的执行环境也需要相互隔离,形成多个隔离环境,每个隔离环境各自独立处理一项任务分支,从而使得任务分支之间的执行代码不会相互影响。任务分支例如可以是对应用的某一项功能进行测试、修改应用的某一项功能等类型的任务分支。
一个隔离环境中需要部署若干个微服务分支,隔离环境部署的微服务分支与周边的微服务分支一起接受服务调用,以使用微服务分支所提供的功能服务,从而实现对任务分支的处理。其中,微服务分支即微服务的分支,微服务的每个分支分别部署在不同的隔离环境中。
因此,当服务调用请求方需要调用微服务分支时,服务调用请求方发出服务调用请求,则计算机设备接收该服务调用请求,并在后续步骤中执行对该请求的处理操作。
本实施例中,每个隔离环境均对应一个隔离标签,隔离标签不同,则隔离环境也不相同。例如,隔离标签A只对应隔离环境1,隔离标签B只对应隔离环境2。
同时,还向微服务分支赋予其所处的隔离环境的隔离标签。例如,微服务的一个分支部署在隔离环境1,另一分支部署在隔离环境2,而隔离环境1的隔离标签为A且隔离环境2的隔离标签为B,则部署于隔离环境1的分支应当赋予隔离标签A,部署于隔离环境2的分支应当赋予隔离标签B。因此,本实施例中,每个微服务分支均对应了一个隔离标签。
102、确定隔离标签与服务调用请求携带的标签相同的微服务分支为服务调用请求对应的调用链路的链路节点,且当任一链路节点的备选下游节点中不存在与任一链路节点的上游节点的隔离标签关联的备选下游节点时,将部署于稳定环境中的备选下游节点作为任一链路节点的下游节点;
在接收到服务调用请求之后,确定该请求的调用链路的各个链路节点。具体的,服务调用请求携带有标签,则可以确定隔离环境中隔离标签与服务调用请求携带的标签相同的微服务分支为服务调用请求对应的调用链路的链路节点,即实现了链路调用的强制路由。
并且,当任一链路节点的备选下游节点中不存在与该任一链路节点的上游节点的隔离标签关联的备选下游节点时,将部署于稳定环境中的备选下游节点作为该任一链路节点的下游节点,实现了链路调用的非强制路由。其中,备选下游节点为基于调用链路的调用顺序而确定的微服务的多个分支,微服务的每个分支部署于不同的隔离环境。
例如,在图2所示的服务调用场景中,project 1、project 2、project 3分别表示独立的隔离环境,master指代master分支,master分支为项目开发环境中的稳定环境;service A~E分别表示微服务;flow 1~4分别表示调用链路。可以看出,service A的2个分支分别部署于project 1及master分支、service B的4个分支分别部署于project 1~3及master分支。假设服务调用请求携带的标签与project 1的隔离标签相同,则可以确定service A、service B及service D在project 1的分支为该服务调用请求对应的调用链路的链路节点,并且,由于按照调用链路的调用顺序可确定service C为service B的下游,且处于下游的service C没有与service B的上游节点(即service A)的隔离标签关联的分支,即service C不存在部署于project 1的分支,此时将部署于稳定环境中的service C分支作为project 1的service B分支这一链路节点的下游节点。
因此,在确定了调用链路中的各个链路节点之后,服务调用请求方即可根据确定好的链路节点进行服务调用。
本实施例中,向每个微服务分支赋予隔离标签,并确定隔离标签与服务调用请求携带的标签相同的微服务分支为链路节点,每个隔离环境不需要部署执行一项任务分支所必备的所有微服务分支,只需部署一部分微服务分支,因为当任一链路节点的备选下游节点中不存在与该任一链路节点的上游节点的隔离标签关联的备选下游节点时,即备选下游节点均没有部署在该任一链路节点的隔离环境中时,只需要将部署于稳定环境中的备选下游节点作为该任一链路节点的下游节点,从而实现链路调用的强制路由和非强制路由的灵活转换,并且隔离环境的部署不存在资源浪费。
下面将在前述图1所示实施例的基础上,进一步详细地描述本申请实施例。请参阅图3,本申请实施例中基于隔离环境的服务调用请求处理方法另一实施例包括:
301、创建隔离标签,并定义隔离标签对应的隔离环境所涉及的微服务分支;
本实施例中,隔离环境基于隔离标签而确立,即隔离标签的不同决定了隔离环境的不同。计算机设备创建隔离标签,相当于确立了隔离环境,并定义隔离标签对应的隔离环境所涉及到的若干个微服务分支。
例如,沿用图2所示的场景,计算机设备创建隔离标签isolate A,isolate A对应隔离环境project 1,并定义isolate A对应的隔离环境project 1所涉及到的微服务分支包括service A的分支、service B的分支及service D的分支。同时,将isolate A赋予上述各分支,则上述各分支将携带isolate A这一隔离标签。
其中,创建的隔离标签可以是任意形式、任意字段或者符号的标签。
302、接收对隔离环境中部署的若干个微服务分支的服务调用请求;
本步骤所执行的操作与前述图1所示实施例中的步骤101所执行的操作类似。
本实施例中,服务调用请求可以是服务调用请求方通过WEB网页发送给计算机设备,也可以是服务调用请求方发起的远程过程调用请求(RPC,remote procedure call),或者是基于消息队列(MQ,message queue)发送的服务调用请求。
303、确定隔离标签与服务调用请求携带的标签相同的微服务分支为服务调用请求对应的调用链路的链路节点,且当任一链路节点的备选下游节点中不存在与任一链路节点的上游节点的隔离标签关联的备选下游节点时,将部署于稳定环境中的备选下游节点作为任一链路节点的下游节点;
本实施例中,确定隔离标签与服务调用请求携带的标签相同的微服务分支为链路节点的具体方式是,确定隔离标签与服务调用请求携带的标签相同的微服务分支为调用链路的链路节点。之后,在每一次确定链路节点时,将当前链路节点的上游节点的隔离标签投递至该当前链路节点,从而该当前链路节点确定出与该上游节点的隔离标签关联的备选下游节点为该当前链路节点的下游节点。
若当前链路节点的备选下游节点中不存在与当前链路节点的上游节点的隔离标签关联的备选下游节点时(即备选下游节点均未部署在该当前链路节点的隔离环境中),将部署于稳定环境中的备选下游节点作为该当前链路节点的下游节点。
例如,沿用图2所示的场景,由于project 1的service A分支与project 1的service B分支均部署在同一隔离环境,两者的隔离标签相互关联,即service A分支的隔离标签关联着service B分支,因此,可以确定出project 1的service B分支为project 1的service A分支的下游节点。同理,在每一次确定链路节点时,将project 1的service A分支的隔离标签投递至project 1的service B分支,从而project 1的service B分支确定出与project 1的service A分支的隔离标签关联的备选下游节点为project 1的serviceB分支的下游节点。由图2可以看出,project 1的service B分支的多个备选下游节点包括稳定环境中的service C分支、project 2的service C分支,并不存在与project 1的service A分支的隔离标签关联的备选下游节点,即所有的备选下游节点均未部署在project 1,此时,将稳定环境中的service C分支作为project 1的service B分支这一链路节点的下游节点。
此外,确定隔离标签与服务调用请求携带的标签相同的微服务分支为链路节点的具体方式还包括,由于隔离标签仅赋予隔离环境中的微服务分支,部署于稳定环境中的微服务分支并没有被赋予隔离标签,因此,当前链路节点为稳定环境中的链路节点时,将当前链路节点的上游节点的隔离标签投递至当前链路节点的下游节点,从而当前链路节点的下游节点确定与该当前链路节点的上游节点的隔离标签关联的备选下游节点为该当前链路节点的下游节点的下游节点。
例如,沿用图2所示的场景,master稳定环境中的service C分支未被赋予隔离标签,因此,计算机设备获取其上游节点project 1的service B分支的隔离标签,并将该隔离标签投递至master稳定环境中的service C分支的下游节点(即project 1的service D分支),从而project 1的service D分支确定与project 1的service B分支的隔离标签关联的备选下游节点为project 1的service D分支的下游节点。由图2可以看出,project 1的service D分支的备选下游节点仅有稳定环境中的service E分支,并不存在与project 1的service B分支的隔离标签关联的备选下游节点,即所有的备选下游节点均未部署在project 1,此时,将稳定环境中的service E分支作为project 1的service D分支这一链路节点的下游节点。
本实施例中,计算机设备可集成隔离标签管理组件,该隔离标签管理组件用于管理隔离标签,在本实施例中,计算机设备使用隔离标签管理组件建立隔离标签所关联的微服务列表,该微服务列表用于表示每个隔离标签所关联的多个微服务分支。例如,沿用图2所示的场景,假设project 1的隔离标签表示为isolate A,则isolate A这一标签关联project 1中的service A、service C及service D这3个微服务分支。
因此,可以通过隔离标签管理组件建立的微服务列表来查询任一隔离标签所关联的微服务分支,从而根据查询到的隔离标签所关联的微服务分支来确定调用链路的链路节点。
同时,计算机设备实时监听微服务列表的变更情况,并根据变更情况更新微服务列表,实现微服务列表的实时动态更新,使得隔离环境中的微服务分支的管理更加高效便捷。
前面提到,服务调用请求可以通过RPC请求、MQ消息或者WEB网页发送,则计算机设备可以通过预先集成的请求处理组件来处理服务调用请求。其中,该请求处理组件用于处理服务调用请求,其根据服务调用请求的类型进行分类,即请求处理组件可以分为处理RPC请求的组件、处理MQ消息的组件以及处理WEB消息的组件。以处理RPC请求的组件为例,请求处理组件接收到RPC请求之后,将RPC请求携带的隔离标签存储在隔离标签管理组件中,并调用线程来处理该RPC请求,在服务调用结束之后,依照谁存储隔离标签就由谁清除该存储的隔离标签这一规则,由于隔离标签是处理RPC请求的组件所存储的,因此,处理RPC请求的组件将之前存储的隔离标签进行清除。同时,为使存储的隔离标签能够在各种请求处理组件之间共享,隔离标签管理组件还存储线程与隔离标签的对应关系。举例来说,隔离标签管理组件存储A线程与隔离标签isolate A的对应关系,A线程处理RPC请求的隔离标签isolate A,则当处理MQ消息的组件同样基于A线程来处理服务调用请求时,可以根据隔离标签管理组件所存储的A线程与isolate A的对应关系,直接从隔离标签管理组件中获取到isolate A,从而确保隔离标签在不同类型的服务调用请求中保持一致,使得隔离标签在不同请求处理组件之间能够进行共享。
同时,由于隔离标签管理组件存储了线程与隔离标签的对应关系,因此,当两个请求处理组件分别基于不同的线程处理服务调用请求时,也可以根据隔离标签管理组件存储的线程与隔离标签的对应关系来查找需要获取的隔离标签。例如,隔离标签管理组件存储A线程与隔离标签isolate A的对应关系及B线程与隔离标签isolate B的对应关系,A线程处理RPC请求的隔离标签isolate A,则当处理MQ消息的组件基于B线程来处理服务调用请求时,可以根据隔离标签管理组件所存储的B线程与isolate B的对应关系,直接从隔离标签管理组件中获取到isolate B。因此,本实施例还实现了隔离标签在跨线程场景下的透传,使得隔离标签可以在不同线程之间传递。
上面对本申请实施例中的基于隔离环境的服务调用请求处理方法进行了描述,下面对本申请实施例中的计算机设备进行描述,请参阅图4,本申请实施例中计算机设备一个实施例包括:
接收单元401,用于接收对隔离环境中部署的若干个微服务分支的服务调用请求,其中每个微服务分支均对应一个隔离标签;
请求处理单元402,用于确定隔离标签与服务调用请求携带的标签相同的微服务分支为服务调用请求对应的调用链路的链路节点,且当任一链路节点的备选下游节点中不存在与任一链路节点的上游节点的隔离标签关联的备选下游节点时,将部署于稳定环境中的备选下游节点作为任一链路节点的下游节点,以使服务调用请求方基于被确定的链路节点进行服务调用;
其中,备选下游节点为基于调用链路的调用顺序而确定的微服务的多个分支,微服务的每个分支部署于不同的隔离环境。
本实施例一种优选的实施方式中,计算机设备还包括:
标签创建单元403,用于创建隔离标签,并定义隔离标签对应的隔离环境所涉及的微服务分支,则隔离环境所涉及的微服务分支对应隔离标签。
本实施例一种优选的实施方式中,请求处理单元402具体用于确定隔离标签与服务调用请求携带的标签相同的微服务分支为调用链路的链路节点;将当前链路节点的上游节点的隔离标签投递至当前链路节点,以使当前链路节点确定与上游节点的隔离标签关联的备选下游节点为当前链路节点的下游节点;若当前链路节点的备选下游节点中不存在与上游节点的隔离标签关联的备选下游节点时,将部署于稳定环境中的备选下游节点作为当前链路节点的下游节点。
本实施例一种优选的实施方式中,若当前链路节点为部署于稳定环境中的链路节点时,则请求处理单元402还用于将当前链路节点的上游节点的隔离标签投递至当前链路节点的下游节点,以使当前链路节点的下游节点确定与当前链路节点的上游节点的隔离标签关联的备选下游节点为当前链路节点的下游节点的下游节点。
本实施例一种优选的实施方式中,计算机设备还包括:
标签管理单元404,用于使用隔离标签管理组件建立隔离标签所关联的微服务列表,微服务列表用于表示每个隔离标签所关联的多个微服务分支;监听微服务列表的变更情况,并根据变更情况更新微服务列表。
本实施例中,计算机设备中各单元所执行的操作与前述图1及图3所示实施例中描述的类似,此处不再赘述。
本实施例中,向每个微服务分支赋予隔离标签,请求处理单元402确定隔离标签与服务调用请求携带的标签相同的微服务分支为链路节点,每个隔离环境不需要部署执行一项任务分支所必备的所有微服务分支,只需部署一部分微服务分支,因为当任一链路节点的备选下游节点中不存在与该任一链路节点的上游节点的隔离标签关联的备选下游节点时,即备选下游节点均没有部署在该任一链路节点的隔离环境中时,只需要将部署于稳定环境中的备选下游节点作为该任一链路节点的下游节点,从而实现链路调用的强制路由和非强制路由的灵活转换,并且隔离环境的部署不存在资源浪费。
下面对本申请实施例中的计算机设备进行描述,请参阅图5,本申请实施例中计算机设备一个实施例包括:
该计算机设备500可以包括一个或一个以上中央处理器(central processingunits,CPU)501和存储器505,该存储器505中存储有一个或一个以上的应用程序或数据。
其中,存储器505可以是易失性存储或持久存储。存储在存储器505的程序可以包括一个或一个以上模块,每个模块可以包括对计算机设备中的一系列指令操作。更进一步地,中央处理器501可以设置为与存储器505通信,在计算机设备500上执行存储器505中的一系列指令操作。
计算机设备500还可以包括一个或一个以上电源502,一个或一个以上有线或无线网络接口503,一个或一个以上输入输出接口504,和/或,一个或一个以上操作系统,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等。
该中央处理器501可以执行前述图1及图3所示实施例中计算机设备所执行的操作,具体此处不再赘述。
本申请实施例还提供了一种计算机存储介质,其中一个实施例包括:该计算机存储介质中存储有指令,该指令在计算机上执行时,使得该计算机执行前述图1及图3所示实施例中计算机设备所执行的操作。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,read-onlymemory)、随机存取存储器(RAM,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。

Claims (10)

1.一种基于隔离环境的服务调用请求处理方法,其特征在于,包括:
接收对隔离环境中部署的若干个微服务分支的服务调用请求,其中每个微服务分支均对应一个隔离标签;
确定隔离标签与所述服务调用请求携带的标签相同的微服务分支为所述服务调用请求对应的调用链路的链路节点,且当任一链路节点的备选下游节点中不存在与所述任一链路节点的上游节点的隔离标签关联的备选下游节点时,将部署于稳定环境中的备选下游节点作为所述任一链路节点的下游节点,以使服务调用请求方基于被确定的链路节点进行服务调用;
其中,所述备选下游节点为基于所述调用链路的调用顺序而确定的微服务的多个分支,微服务的每个分支部署于不同的隔离环境。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
创建隔离标签,并定义所述隔离标签对应的隔离环境所涉及的微服务分支,则所述隔离环境所涉及的微服务分支对应所述隔离标签。
3.根据权利要求1所述的方法,其特征在于,所述确定隔离标签与所述服务调用请求携带的标签相同的微服务分支为所述服务调用请求对应的调用链路的链路节点,包括:
确定隔离标签与所述服务调用请求携带的标签相同的微服务分支为所述调用链路的链路节点;
将当前链路节点的上游节点的隔离标签投递至所述当前链路节点,以使所述当前链路节点确定与所述上游节点的隔离标签关联的备选下游节点为所述当前链路节点的下游节点;
若当前链路节点的备选下游节点中不存在与所述上游节点的隔离标签关联的备选下游节点时,将部署于稳定环境中的备选下游节点作为所述当前链路节点的下游节点。
4.根据权利要求3所述的方法,其特征在于,若所述当前链路节点为部署于稳定环境中的链路节点时,则所述将当前链路节点的上游节点的隔离标签投递至所述当前链路节点之后,所述方法还包括:
将所述当前链路节点的上游节点的隔离标签投递至所述当前链路节点的下游节点,以使所述当前链路节点的下游节点确定与所述当前链路节点的上游节点的隔离标签关联的备选下游节点为所述当前链路节点的下游节点的下游节点。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
使用隔离标签管理组件建立隔离标签所关联的微服务列表,所述微服务列表用于表示每个隔离标签所关联的多个微服务分支;
监听所述微服务列表的变更情况,并根据所述变更情况更新所述微服务列表。
6.一种计算机设备,其特征在于,包括:
接收单元,用于接收对隔离环境中部署的若干个微服务分支的服务调用请求,其中每个微服务分支均对应一个隔离标签;
请求处理单元,用于确定隔离标签与所述服务调用请求携带的标签相同的微服务分支为所述服务调用请求对应的调用链路的链路节点,且当任一链路节点的备选下游节点中不存在与所述任一链路节点的上游节点的隔离标签关联的备选下游节点时,将部署于稳定环境中的备选下游节点作为所述任一链路节点的下游节点,以使服务调用请求方基于被确定的链路节点进行服务调用;
其中,所述备选下游节点为基于所述调用链路的调用顺序而确定的微服务的多个分支,微服务的每个分支部署于不同的隔离环境。
7.根据权利要求6所述的计算机设备,其特征在于,所述计算机设备还包括:
标签创建单元,用于创建隔离标签,并定义所述隔离标签对应的隔离环境所涉及的微服务分支,则所述隔离环境所涉及的微服务分支对应所述隔离标签。
8.根据权利要求6所述的计算机设备,其特征在于,所述请求处理单元具体用于确定隔离标签与所述服务调用请求携带的标签相同的微服务分支为所述调用链路的链路节点;将当前链路节点的上游节点的隔离标签投递至所述当前链路节点,以使所述当前链路节点确定与所述上游节点的隔离标签关联的备选下游节点为所述当前链路节点的下游节点;若当前链路节点的备选下游节点中不存在与所述上游节点的隔离标签关联的备选下游节点时,将部署于稳定环境中的备选下游节点作为所述当前链路节点的下游节点。
9.根据权利要求8所述的计算机设备,其特征在于,若所述当前链路节点为部署于稳定环境中的链路节点时,则所述请求处理单元还用于将所述当前链路节点的上游节点的隔离标签投递至所述当前链路节点的下游节点,以使所述当前链路节点的下游节点确定与所述当前链路节点的上游节点的隔离标签关联的备选下游节点为所述当前链路节点的下游节点的下游节点。
10.根据权利要求6所述的计算机设备,其特征在于,所述计算机设备还包括:
标签管理单元,用于使用隔离标签管理组件建立隔离标签所关联的微服务列表,所述微服务列表用于表示每个隔离标签所关联的多个微服务分支;监听所述微服务列表的变更情况,并根据所述变更情况更新所述微服务列表。
CN202011564486.3A 2020-12-25 2020-12-25 基于隔离环境的服务调用请求处理方法及计算机设备 Active CN112631804B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011564486.3A CN112631804B (zh) 2020-12-25 2020-12-25 基于隔离环境的服务调用请求处理方法及计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011564486.3A CN112631804B (zh) 2020-12-25 2020-12-25 基于隔离环境的服务调用请求处理方法及计算机设备

Publications (2)

Publication Number Publication Date
CN112631804A true CN112631804A (zh) 2021-04-09
CN112631804B CN112631804B (zh) 2024-05-24

Family

ID=75325014

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011564486.3A Active CN112631804B (zh) 2020-12-25 2020-12-25 基于隔离环境的服务调用请求处理方法及计算机设备

Country Status (1)

Country Link
CN (1) CN112631804B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113867992A (zh) * 2021-12-03 2021-12-31 连连(杭州)信息技术有限公司 调用链资源隔离方法、装置、存储介质和电子设备

Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160112475A1 (en) * 2014-10-21 2016-04-21 Twilio, Inc. System and method for providing a micro-services communication platform
WO2016197344A1 (zh) * 2015-06-10 2016-12-15 华为技术有限公司 实现业务链接的方法、设备及系统
US20170111365A1 (en) * 2015-10-15 2017-04-20 Oracle International Corporation Operating-system-level isolation of multi-tenant applications
US20170230349A1 (en) * 2016-02-04 2017-08-10 International Business Machines Corporation Microservices inter-operational trust management
US20170353431A1 (en) * 2016-06-07 2017-12-07 Abb Technology Ag Network isolation
US20180176187A1 (en) * 2016-12-16 2018-06-21 Amazon Technologies, Inc. Secure data ingestion for sensitive data across networks
US10171623B1 (en) * 2017-07-18 2019-01-01 International Business Machines Corporation Identifying application preemptive requests
CN109582472A (zh) * 2018-10-19 2019-04-05 华为技术有限公司 一种微服务处理方法及设备
US20190199626A1 (en) * 2017-12-26 2019-06-27 Cisco Technology, Inc. Routing traffic across isolation networks
CN110310034A (zh) * 2019-06-28 2019-10-08 京东数字科技控股有限公司 一种应用于SaaS的服务编排、业务流程处理方法和装置
CN110730246A (zh) * 2019-10-23 2020-01-24 家乡互动(厦门)网络科技有限公司 一种微服务架构下的分布式链路跟踪方法
CN111176761A (zh) * 2019-12-23 2020-05-19 中国联合网络通信集团有限公司 微服务调用方法和装置
CN111309374A (zh) * 2020-01-21 2020-06-19 苏州达家迎信息技术有限公司 一种微服务系统和微服务系统中的服务调用方法
EP3716533A1 (en) * 2019-03-29 2020-09-30 Juniper Networks, Inc. Configuring service load balancers with specified backend virtual networks
US20200342449A1 (en) * 2019-04-29 2020-10-29 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing an api gateway to authorize and charge a fee for a transaction between cloud computing customers using distributed ledger technologies (dlt)
CN112035213A (zh) * 2020-08-28 2020-12-04 北京白龙马云行科技有限公司 多租户网约车系统及动态隔离方法
CN112035228A (zh) * 2020-08-28 2020-12-04 光大科技有限公司 一种资源调度方法及装置
CN112118565A (zh) * 2020-08-14 2020-12-22 金蝶医疗软件科技有限公司 多租户服务灰度发布方法、装置、计算机设备和存储介质

Patent Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160112475A1 (en) * 2014-10-21 2016-04-21 Twilio, Inc. System and method for providing a micro-services communication platform
WO2016197344A1 (zh) * 2015-06-10 2016-12-15 华为技术有限公司 实现业务链接的方法、设备及系统
US20170111365A1 (en) * 2015-10-15 2017-04-20 Oracle International Corporation Operating-system-level isolation of multi-tenant applications
US20170230349A1 (en) * 2016-02-04 2017-08-10 International Business Machines Corporation Microservices inter-operational trust management
US20170353431A1 (en) * 2016-06-07 2017-12-07 Abb Technology Ag Network isolation
US20180176187A1 (en) * 2016-12-16 2018-06-21 Amazon Technologies, Inc. Secure data ingestion for sensitive data across networks
US10171623B1 (en) * 2017-07-18 2019-01-01 International Business Machines Corporation Identifying application preemptive requests
US20190199626A1 (en) * 2017-12-26 2019-06-27 Cisco Technology, Inc. Routing traffic across isolation networks
CN109582472A (zh) * 2018-10-19 2019-04-05 华为技术有限公司 一种微服务处理方法及设备
EP3716533A1 (en) * 2019-03-29 2020-09-30 Juniper Networks, Inc. Configuring service load balancers with specified backend virtual networks
US20200342449A1 (en) * 2019-04-29 2020-10-29 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing an api gateway to authorize and charge a fee for a transaction between cloud computing customers using distributed ledger technologies (dlt)
CN110310034A (zh) * 2019-06-28 2019-10-08 京东数字科技控股有限公司 一种应用于SaaS的服务编排、业务流程处理方法和装置
CN110730246A (zh) * 2019-10-23 2020-01-24 家乡互动(厦门)网络科技有限公司 一种微服务架构下的分布式链路跟踪方法
CN111176761A (zh) * 2019-12-23 2020-05-19 中国联合网络通信集团有限公司 微服务调用方法和装置
CN111309374A (zh) * 2020-01-21 2020-06-19 苏州达家迎信息技术有限公司 一种微服务系统和微服务系统中的服务调用方法
CN112118565A (zh) * 2020-08-14 2020-12-22 金蝶医疗软件科技有限公司 多租户服务灰度发布方法、装置、计算机设备和存储介质
CN112035213A (zh) * 2020-08-28 2020-12-04 北京白龙马云行科技有限公司 多租户网约车系统及动态隔离方法
CN112035228A (zh) * 2020-08-28 2020-12-04 光大科技有限公司 一种资源调度方法及装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
N. LAZAREV, N. ADIT, S. XIANG, Z. ZHANG AND C. DELIMITROU: "Dagger: Towards Efficient RPCs in Cloud Microservices With Near-Memory Reconfigurable NICs", 《EEE COMPUTER ARCHITECTURE LETTERS》 *
刘庆庆: "基于微服务架构的用户标签系统设计与实现", 《中国优秀硕士论文电子期刊网》 *
肖坚: "基于Docker的应用服务云平台的设计和实现", 《中国优秀硕士论文电子期刊网》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113867992A (zh) * 2021-12-03 2021-12-31 连连(杭州)信息技术有限公司 调用链资源隔离方法、装置、存储介质和电子设备
CN113867992B (zh) * 2021-12-03 2022-03-25 连连(杭州)信息技术有限公司 调用链资源隔离方法、装置、存储介质和电子设备

Also Published As

Publication number Publication date
CN112631804B (zh) 2024-05-24

Similar Documents

Publication Publication Date Title
CN109117252B (zh) 基于容器的任务处理的方法、系统及容器集群管理系统
US8949308B2 (en) Building large scale infrastructure using hybrid clusters
CN109656688B (zh) 一种实现分布式业务规则的方法、系统和服务器
CN109245908B (zh) 一种主从集群切换的方法和装置
CN111865622B (zh) 基于规则引擎集群的云服务计量计费方法及系统
CN109656569B (zh) 多环境应用部署方法、设备、存储介质及装置
CN113010313A (zh) 一种负载均衡方法、装置、电子设备及计算机存储介质
CN112631804B (zh) 基于隔离环境的服务调用请求处理方法及计算机设备
CN115525533A (zh) 信息处理方法、装置、计算机设备及存储介质
CN112346872B (zh) 基于服务调用链路的云计算扩容方法及装置
CN102932389B (zh) 一种请求处理方法、装置及服务器系统
CN112596897A (zh) 一种用于多租户隔离的方法及系统
CN112631756A (zh) 一种应用于航天测控软件的分布式调控方法及装置
CN115361382B (zh) 基于数据群组的数据处理方法、装置、设备和存储介质
CN116932147A (zh) 流式作业处理方法、装置、电子设备及介质
CN111475905B (zh) 一种建立道路车辆功能安全开发流程的方法及装置
CN111301789B (zh) 应用软件打包方法和装置
US20230134573A1 (en) Automated generation of dependency hierarchy based on input and output requirements of information
CN112416472B (zh) 客服分配方法和装置、电子设备、及介质
CN115378937A (zh) 任务的分布式并发方法、装置、设备和可读存储介质
CN115328612A (zh) 资源分配方法、装置、设备以及存储介质
CN107786587B (zh) 一种调整应用资源的方法以及云控制器
CN114285784B (zh) 数据传输和管道搭建方法、装置、计算设备和存储介质
CN112559001A (zh) 更新应用的方法和装置
CN112966180B (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
GR01 Patent grant
GR01 Patent grant