CN115695319A - 支持多优先级策略的网关路由规则计算、设置和匹配方法 - Google Patents
支持多优先级策略的网关路由规则计算、设置和匹配方法 Download PDFInfo
- Publication number
- CN115695319A CN115695319A CN202211356959.XA CN202211356959A CN115695319A CN 115695319 A CN115695319 A CN 115695319A CN 202211356959 A CN202211356959 A CN 202211356959A CN 115695319 A CN115695319 A CN 115695319A
- Authority
- CN
- China
- Prior art keywords
- service
- matching
- routing rule
- setting
- executing
- 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
- 238000000034 method Methods 0.000 title claims abstract description 38
- 238000004364 calculation method Methods 0.000 title claims abstract description 11
- 238000012545 processing Methods 0.000 abstract description 2
- 235000014510 cooky Nutrition 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004891 communication 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
- 230000000717 retained effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种支持多优先级策略的网关路由规则计算、设置和匹配方法,根据请求报文头或报文体中的关键信息来进行匹配处理,能够确保将业务请求路由转发到某个服务的特定实例上。其技术方案为:按照“先有状态服务路由,后无状态服务路由”、“先个性化服务路由后通用服务路由”的优先级策略,支持将业务请求成功路由转发到有状态服务的某个特定实例或者任意实例上、以及无状态服务的任意实例上,有效解决了kubernetes容器云集群中的有状态服务和无状态服务的路由转发问题。
Description
技术领域
本发明涉及网关路由算法领域,具体涉及一种支持多优先级策略的网关路由规则计算方法、设置方法和匹配方法。
背景技术
近几年来,金融企业对网络安全的要求越来越高,在金融企业内部根据办公、业务等不同安全等级来划分形成多个网络区域,每个网络区域分别有多个业务服务,这些服务之间存在着大量的访问调用,既有同区域内部的服务访问调用,也有跨区域的服务访问调用。同时,在每个网络区域部署网关,要求所有跨区域访问进出流量必须通过网关,这样网关承担起了服务发现和路由转发的重要功能,成为了各个网络区域之间请求数据传输的重要枢纽。
基于网关来实现多个网络区域互联互通的场景如图1所示。
在互联网领域,有很多网关以及消息中间件产品支持服务路由和消息转发,它们可以根据不同的服务来设置相应的路由规则;为了支持业务的扩展性和高可用性,一般情况下一个服务有多个实例,对于某个服务的多个实例,业界产品通过负载均衡算法进行随机路由,将请求消息转发到任意一个服务实例上,通常不支持将请求定向路由到某个指定的服务实例上,也难以提供支持多种优先级策略的网关路由规则计算方法。
发明内容
以下给出一个或多个方面的简要概述以提供对这些方面的基本理解。此概述不是所有构想到的方面的详尽综览,并且既非旨在指认出所有方面的关键性或决定性要素亦非试图界定任何或所有方面的范围。其唯一的目的是要以简化形式给出一个或多个方面的一些概念以为稍后给出的更加详细的描述之序。
本发明的目的在于解决上述问题,提供了一种支持多优先级策略的网关路由规则计算方法、设置方法和匹配方法,根据请求报文头或报文体中的关键信息来进行匹配处理,能够确保将业务请求路由转发到某个服务的特定实例上。
本发明的技术方案为:本发明揭示了一种支持多优先级策略的网关路由规则计算方法,包括网关的服务路由规则的设置方法、与设置方法对应的网关路由匹配方法,其中:
网关的服务路由规则的设置方法包括:
步骤1-1:设置有状态服务的服务路由规则,首先针对某些有状态服务,根据请求头中的关键字段来设置自定义的个性化路由规则,分别设置该有状态服务的每个实例的个性化路由规则;
步骤1-2:设置有状态服务的服务路由规则,然后根据请求头中指定的关键字段来设置通用路由规则,分别设置该有状态服务的每个实例的通用路由规则;
步骤1-3:设置无状态服务的服务路由规则,首先针对某些无状态服务,根据请求头中的关键字段来设置自定义的个性化路由规则,分别设置该无状态服务的任意实例的个性化路由规则;
步骤1-4:设置无状态服务的服务路由规则,然后支持根据请求头中的关键字段来设置通用路由规则,分别设置该无状态服务的任意实例的通用路由规则;
网关路由匹配方法包括:
步骤2-1:进行有状态服务的服务路由规则匹配,首先进行个性化服务路由规则匹配,判断请求头中的某些自定义字段的取值是否带有关键信息,若带有关键信息则确认服务的实例匹配成功,执行步骤2-7;若不带有关键信息则确认服务的实例匹配失败,执行步骤2-2;
步骤2-2:判断请求头中某些自定义字段的取值是否带有关键信息,若带有关键信息则确认服务的实例匹配成功,执行步骤2-8;若不带有关键信息则确认服务的实例匹配失败,执行步骤2-3;
步骤2-3:进行有状态服务的服务路由规则匹配,首先进行通用服务路由规则匹配,判断请求头中某些指定的字段的取值是否带有关键信息,若带有关键信息则确认服务的实例匹配成功,执行步骤2-7;若不带有关键信息则确认服务的实例匹配失败,执行步骤2-4;
步骤2-4:判断请求头中某些指定的字段的取值是否带有关键信息,若带有关键信息则确认服务的实例匹配成功,执行步骤2-8;若不带有关键信息则确认服务的实例匹配失败,执行步骤2-5;
步骤2-5:进行无状态服务的服务路由规则匹配,首先根据请求头中的关键字段进行自定义的个性化路由规则匹配,若匹配成功则执行步骤2-9,若匹配失败则执行步骤2-6;
步骤2-6:进行无状态服务的服务路由规则匹配,然后根据请求头中的关键字段进行通用路由规则匹配,若匹配成功则执行步骤2-9,若匹配失败则执行步骤2-10;
步骤2-7:将请求转发到服务的第一实例;
步骤2-8:将请求转发到服务的第二实例;
步骤2-9:将请求转发到服务的任意实例上;
步骤2-10:不匹配服务的路由规则,进行后续服务的路由匹配。
本发明还揭示了一种支持多优先级策略的网关路由规则的设置方法,方法包括:
步骤1-1:设置有状态服务的服务路由规则,首先针对某些有状态服务,根据请求头中的关键字段来设置自定义的个性化路由规则,分别设置该有状态服务的每个实例的个性化路由规则;
步骤1-2:设置有状态服务的服务路由规则,然后根据请求头中指定的关键字段来设置通用路由规则,分别设置该有状态服务的每个实例的通用路由规则;
步骤1-3:设置无状态服务的服务路由规则,首先针对某些无状态服务,根据请求头中的关键字段来设置自定义的个性化路由规则,分别设置该无状态服务的任意实例的个性化路由规则;
步骤1-4:设置无状态服务的服务路由规则,然后支持根据请求头中的关键字段来设置通用路由规则,分别设置该无状态服务的任意实例的通用路由规则。
本发明还揭示了一种支持多优先级策略的网关路由匹配方法,方法包括:
步骤2-1:进行有状态服务的服务路由规则匹配,首先进行个性化服务路由规则匹配,判断请求头中的某些自定义字段的取值是否带有关键信息,若带有关键信息则确认服务的实例匹配成功,执行步骤2-7;若不带有关键信息则确认服务的实例匹配失败,执行步骤2-2;
步骤2-2:判断请求头中某些自定义字段的取值是否带有关键信息,若带有关键信息则确认服务的实例匹配成功,执行步骤2-8;若不带有关键信息则确认服务的实例匹配失败,执行步骤2-3;
步骤2-3:进行有状态服务的服务路由规则匹配,首先进行通用服务路由规则匹配,判断请求头中某些指定的字段的取值是否带有关键信息,若带有关键信息则确认服务的实例匹配成功,执行步骤2-7;若不带有关键信息则确认服务的实例匹配失败,执行步骤2-4;
步骤2-4:判断请求头中某些指定的字段的取值是否带有关键信息,若带有关键信息则确认服务的实例匹配成功,执行步骤2-8;若不带有关键信息则确认服务的实例匹配失败,执行步骤2-5;
步骤2-5:进行无状态服务的服务路由规则匹配,首先根据请求头中的关键字段进行自定义的个性化路由规则匹配,若匹配成功则执行步骤2-9,若匹配失败则执行步骤2-6;
步骤2-6:进行无状态服务的服务路由规则匹配,然后根据请求头中的关键字段进行通用路由规则匹配,若匹配成功则执行步骤2-9,若匹配失败则执行步骤2-10;
步骤2-7:将请求转发到服务的第一实例;
步骤2-8:将请求转发到服务的第二实例;
步骤2-9:将请求转发到服务的任意实例上;
步骤2-10:不匹配服务的路由规则,进行后续服务的路由匹配。
本发明对比现有技术有如下的有益效果:本发明的方法是按照“先有状态服务路由,后无状态服务路由”、“先个性化服务路由后通用服务路由”的优先级策略,支持将业务请求成功路由转发到有状态服务的某个特定实例或者任意实例上、以及无状态服务的任意实例上,有效解决了kubernetes容器云集群中的有状态服务和无状态服务的路由转发问题。
附图说明
在结合以下附图阅读本公开的实施例的详细描述之后,能够更好地理解本发明的上述特征和优点。在附图中,各组件不一定是按比例绘制,并且具有类似的相关特性或特征的组件可能具有相同或相近的附图标记。
图1示出了现有技术中的基于网关来实现多个网络区域互联互通的场景的示意图。
图2示出了现有技术中的容器云集群中的服务和实例发现机制的示意图。
图3示出了本发明的支持多优先级策略的网关路由规则计算方法中的设置方法的一实施例的流程图。
图4示出了本发明的支持多优先级策略的网关路由规则计算方法中的匹配方法的一实施例的流程图。
具体实施方式
以下结合附图和具体实施例对本发明作详细描述。注意,以下结合附图和具体实施例描述的诸方面仅是示例性的,而不应被理解为对本发明的保护范围进行任何限制。
本发明的支持多优先级策略的网关路由规则计算方法包括网关的服务路由规则的设置方法(如图3所示)和与设置方法对应的网关路由匹配方法(如图4所示)。本实施例的服务路由规则的设置方法是按照“先有状态服务路由,后无状态服务路由”、“先个性化服务路由后通用服务路由”的优先级策略来设置网关的服务路由规则。
在介绍本实施例的流程步骤之前,首先介绍一下有状态服务和无状态服务这两个术语。无状态服务是指没有特殊状态的服务,各个请求对于服务器来说统一无差别处理,请求自身携带了所有服务端所需要的所有参数(服务端自身不存储根请求相关的任何数据,不包括数据库存储信息)。有状态服务是指带有特殊状态的服务,即在服务端保留之前的请求的信息,用以处理当前请求,比如会话session、数据库事务等。
然后介绍容器云集群中的服务和实例发现机制。容器云集群中的服务和实例发现机制如图2所示。
随着各大金融企业深入推进技术架构向云原生化转型,越来越多的应用陆续完成了容器化落地,目前,大部分容器化应用都部署运行在基于docker+kubernetes的容器云集群中,在容器云集群内部,服务应用的服务注册与发现机制一般通过kubernetes dns来实现,kubernetes dns内部以key-value形式存放服务地址信息。这里分为无状态服务和有状态服务两大类,在kubernetes集群中中分别以deployment和statefulset两种对象来标识无状态服务对象和有状态服务对象。
1、对于无状态服务(deployment),key值为服务名.名称空间名,value值为服务对应的集群内部虚地址(cluster ip地址)和pod端口。
例如:在app名称空间下,服务a1为无状态服务,kubernetes dns存放的key值为a1.app,value值为服务a1对应的集群内部虚地址(cluster ip地址)和pod端口。
2、对于有状态服务(statefulset),首先可以按照无状态服务的服务命名规则来存放,即key值为服务名.名称空间名,value值为服务对应的集群内部虚地址(cluster ip地址)和pod端口。
例如:在app名称空间下,服务a2为有状态服务,kubernetes dns存放的key值为a2.app,value值为服务a2对应的集群内部虚地址(cluster ip地址)和pod端口。
然后,它还可以按照有状态服务的服务命名规则来存放,可以指定服务下的一个具体的pod容器实例,key值为pod名.服务名.名称空间名,value值为服务对应实例的podip地址和pod端口。
例如:在app名称空间下,服务a2为有状态服务;
kubernetes dns存放的服务a2实例1的记录为:key值为a2-0.a2.app,value值为服务a2下实例1的pod ip地址和pod端口;
kubernetes dns存放的服务a2实例2的记录为:key值为a2-1.a2.app,value值为服务a2下实例2的pod ip地址和pod端口。
如图3所示,以下是网关的服务路由规则的设置方法的实施步骤的详细描述。
步骤1-1:设置有状态服务的服务路由规则,首先针对某些有状态服务,根据请求头header中的关键字段来设置自定义的个性化路由规则,分别设置该有状态服务的每个实例的个性化路由规则。
举例如下。
(1)设置服务a2实例1的路由规则,必须同时满足以下两个条件:
条件1:请求header中Cookie字段中包含routeid=a2-0
条件2:请求header的path路径中满足/a2/*
(2)设置服务a2实例2的路由规则,必须同时满足以下两个条件:
条件1:请求header中Cookie字段中包含routeid=a2-1
条件2:请求header的path路径中满足/a2/*
(3)以此类推,设置服务a2实例N的路由规则,必须同时满足以下两个条件:
条件1:请求header中Cookie字段中包含routeid=a2-k(其中,k值为N-1)
条件2:请求header的path路径中满足/a2/*
步骤1-2:设置有状态服务的服务路由规则,然后支持根据请求头header中指定的关键字段来设置通用路由规则,分别设置该有状态服务的每个实例的通用路由规则。
举例如下。
(1)设置服务a2实例1的路由规则,必须同时满足以下两个条件:
条件1:请求header中targethost字段值为a2-0
条件2:请求header的path路径中满足/a2/*
(2)设置服务a2实例2的路由规则,必须同时满足以下两个条件:
条件1:请求header中targethost字段值为a2-1
条件2:请求header的path路径中满足/a2/*
(3)以此类推,设置服务a2实例N的路由规则,必须同时满足以下两个条件:
条件1:请求header中targethost字段值为a2-k(其中,k值为N-1)
条件2:请求header的path路径中满足/a2/*
步骤1-3:设置无状态服务的服务路由规则,首先针对某些无状态服务,根据请求头header中的关键字段来设置自定义的个性化路由规则,分别设置该无状态服务的任意实例的个性化路由规则。
例如,设置服务a2(任意实例)的路由规则,必须同时满足以下条件:
请求header的path路径中满足/a2/service/*
步骤1-4:设置无状态服务的服务路由规则,然后支持根据请求头header中的关键字段来设置通用路由规则,分别设置该无状态服务的任意实例的通用路由规则。
例如,设置服务a2(任意实例)的路由规则,必须同时满足以下条件:
请求header的path路径中满足/a2/*
与上述的图3所示的设置方法对应的,结合图4所示,支持多优先级策略的网关服务路由匹配方法的步骤详述如下。
步骤2-1:进行有状态服务的服务路由规则匹配,首先进行个性化服务路由规则匹配,判断请求头header中某些自定义字段的取值是否带有关键信息,若带有关键信息则确认服务的实例匹配成功,执行步骤2-7;若不带有关键信息则确认服务的实例匹配失败,执行步骤2-2。
例如,必须同时满足以下两个条件:
条件1:请求header中Cookie字段中包含routeid=a2-0
条件2:请求header的path路径中满足/a2/*
如果同时满足上述两个条件,则认为与服务a2的实例1匹配成功,执行步骤2-7。
如果不满足,则执行步骤2-2。
步骤2-2:判断请求头header中某些自定义字段的取值是否带有关键信息,若带有关键信息则确认服务的实例匹配成功,执行步骤2-8;若不带有关键信息则确认服务的实例匹配失败,执行步骤2-3。
例如,必须同时满足以下两个条件:
条件1:请求header中Cookie字段中包含routeid=a2-1
条件2:请求header的path路径中满足/a2/*
如果同时满足上述两个条件,则认为与服务a2的实例2匹配成功,执行步骤2-8。
如果不满足,则执行步骤2-3。
步骤2-3:进行有状态服务的服务路由规则匹配,首先进行通用服务路由规则匹配,判断请求头header中某些指定的字段的取值是否带有关键信息,若带有关键信息则确认服务的实例匹配成功,执行步骤2-7;若不带有关键信息则确认服务的实例匹配失败,执行步骤2-4。
例如,必须同时满足以下两个条件:
条件1:请求header中targethost字段值为a2-0
条件2:请求header的path路径中满足/a2/*
如果同时满足上述两个条件,则认为与服务a2的实例1匹配成功,执行步骤2-7。
如果不满足,则执行步骤2-4。
步骤2-4:判断请求头header中某些指定的字段的取值是否带有关键信息,若带有关键信息则确认服务的实例匹配成功,执行步骤2-8;若不带有关键信息则确认服务的实例匹配失败,执行步骤2-5。
例如,必须同时满足以下两个条件:
条件1:请求header中targethost字段值为a2-1
条件2:请求header的path路径中满足/a2/*
如果同时满足上述两个条件,则认为与服务a2的实例2匹配成功,执行步骤2-8。
如果不满足,则执行步骤2-5。
步骤2-5:进行无状态服务的服务路由规则匹配,首先根据请求头header中的关键字段进行自定义的个性化路由规则匹配,若匹配成功则执行步骤2-9,若匹配失败则执行步骤2-6。
例如,匹配成功必须同时满足以下条件:
请求header的path路径中满足/a2/service/*
如果满足,则认为与服务a2(任意实例)匹配成功,执行步骤2-9。
如果不满足,则认为服务a2匹配失败,执行步骤2-6。
步骤2-6:进行无状态服务的服务路由规则匹配,然后根据请求头header中的关键字段进行通用路由规则匹配,若匹配成功则执行步骤2-9,若匹配失败则执行步骤2-10。
例如,匹配成功必须同时满足以下条件:
请求header的path路径中满足/a2/*
如果满足,则认为与服务a2(任意实例)匹配成功,执行步骤2-9。
如果不满足,则认为服务a2匹配失败,执行步骤2-10。
步骤2-7:将请求转发到服务a2的实例1。
步骤2-8:将请求转发到服务a2的实例2。
步骤2-9:将请求转发到服务a2的任意实例上。
步骤2-10:不匹配服务a2的路由规则,进行后续服务的路由匹配。
尽管为使解释简单化将上述方法图示并描述为一系列动作,但是应理解并领会,这些方法不受动作的次序所限,因为根据一个或多个实施例,一些动作可按不同次序发生和/或与来自本文中图示和描述或本文中未图示和描述但本领域技术人员可以理解的其他动作并发地发生。
本领域技术人员将进一步领会,结合本文中所公开的实施例来描述的各种解说性逻辑板块、模块、电路、和算法步骤可实现为电子硬件、计算机软件、或这两者的组合。为清楚地解说硬件与软件的这一可互换性,各种解说性组件、框、模块、电路、和步骤在上面是以其功能性的形式作一般化描述的。此类功能性是被实现为硬件还是软件取决于具体应用和施加于整体系统的设计约束。技术人员对于每种特定应用可用不同的方式来实现所描述的功能性,但这样的实现决策不应被解读成导致脱离了本发明的范围。
结合本文所公开的实施例描述的各种解说性逻辑板块、模块、和电路可用通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑器件、分立的门或晶体管逻辑、分立的硬件组件、或其设计成执行本文所描述功能的任何组合来实现或执行。通用处理器可以是微处理器,但在替换方案中,该处理器可以是任何常规的处理器、控制器、微控制器、或状态机。处理器还可以被实现为计算设备的组合,例如DSP与微处理器的组合、多个微处理器、与DSP核心协作的一个或多个微处理器、或任何其他此类配置。
结合本文中公开的实施例描述的方法或算法的步骤可直接在硬件中、在由处理器执行的软件模块中、或在这两者的组合中体现。软件模块可驻留在RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动盘、CD-ROM、或本领域中所知的任何其他形式的存储介质中。示例性存储介质耦合到处理器以使得该处理器能从/向该存储介质读取和写入信息。在替换方案中,存储介质可以被整合到处理器。处理器和存储介质可驻留在ASIC中。ASIC可驻留在用户终端中。在替换方案中,处理器和存储介质可作为分立组件驻留在用户终端中。
在一个或多个示例性实施例中,所描述的功能可在硬件、软件、固件或其任何组合中实现。如果在软件中实现为计算机程序产品,则各功能可以作为一条或更多条指令或代码存储在计算机可读介质上或藉其进行传送。计算机可读介质包括计算机存储介质和通信介质两者,其包括促成计算机程序从一地向另一地转移的任何介质。存储介质可以是能被计算机访问的任何可用介质。作为示例而非限定,这样的计算机可读介质可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储、磁盘存储或其它磁存储设备、或能被用来携带或存储指令或数据结构形式的合意程序代码且能被计算机访问的任何其它介质。任何连接也被正当地称为计算机可读介质。例如,如果软件是使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL)、或诸如红外、无线电、以及微波之类的无线技术从web网站、服务器、或其它远程源传送而来,则该同轴电缆、光纤电缆、双绞线、DSL、或诸如红外、无线电、以及微波之类的无线技术就被包括在介质的定义之中。如本文中所使用的盘(disk)和碟(disc)包括压缩碟(CD)、激光碟、光碟、数字多用碟(DVD)、软盘和蓝光碟,其中盘(disk)往往以磁的方式再现数据,而碟(disc)用激光以光学方式再现数据。上述的组合也应被包括在计算机可读介质的范围内。
提供对本公开的先前描述是为使得本领域任何技术人员皆能够制作或使用本公开。对本公开的各种修改对本领域技术人员来说都将是显而易见的,且本文中所定义的普适原理可被应用到其他变体而不会脱离本公开的精神或范围。由此,本公开并非旨在被限定于本文中所描述的示例和设计,而是应被授予与本文中所公开的原理和新颖性特征相一致的最广范围。
Claims (3)
1.一种支持多优先级策略的网关路由规则计算方法,其特征在于,包括网关的服务路由规则的设置方法、与设置方法对应的网关路由匹配方法,其中:
网关的服务路由规则的设置方法包括:
步骤1-1:设置有状态服务的服务路由规则,首先针对某些有状态服务,根据请求头中的关键字段来设置自定义的个性化路由规则,分别设置该有状态服务的每个实例的个性化路由规则;
步骤1-2:设置有状态服务的服务路由规则,然后根据请求头中指定的关键字段来设置通用路由规则,分别设置该有状态服务的每个实例的通用路由规则;
步骤1-3:设置无状态服务的服务路由规则,首先针对某些无状态服务,根据请求头中的关键字段来设置自定义的个性化路由规则,分别设置该无状态服务的任意实例的个性化路由规则;
步骤1-4:设置无状态服务的服务路由规则,然后支持根据请求头中的关键字段来设置通用路由规则,分别设置该无状态服务的任意实例的通用路由规则;
网关路由匹配方法包括:
步骤2-1:进行有状态服务的服务路由规则匹配,首先进行个性化服务路由规则匹配,判断请求头中的某些自定义字段的取值是否带有关键信息,若带有关键信息则确认服务的实例匹配成功,执行步骤2-7;若不带有关键信息则确认服务的实例匹配失败,执行步骤2-2;
步骤2-2:判断请求头中某些自定义字段的取值是否带有关键信息,若带有关键信息则确认服务的实例匹配成功,执行步骤2-8;若不带有关键信息则确认服务的实例匹配失败,执行步骤2-3;
步骤2-3:进行有状态服务的服务路由规则匹配,首先进行通用服务路由规则匹配,判断请求头中某些指定的字段的取值是否带有关键信息,若带有关键信息则确认服务的实例匹配成功,执行步骤2-7;若不带有关键信息则确认服务的实例匹配失败,执行步骤2-4;
步骤2-4:判断请求头中某些指定的字段的取值是否带有关键信息,若带有关键信息则确认服务的实例匹配成功,执行步骤2-8;若不带有关键信息则确认服务的实例匹配失败,执行步骤2-5;
步骤2-5:进行无状态服务的服务路由规则匹配,首先根据请求头中的关键字段进行自定义的个性化路由规则匹配,若匹配成功则执行步骤2-9,若匹配失败则执行步骤2-6;
步骤2-6:进行无状态服务的服务路由规则匹配,然后根据请求头中的关键字段进行通用路由规则匹配,若匹配成功则执行步骤2-9,若匹配失败则执行步骤2-10;
步骤2-7:将请求转发到服务的第一实例;
步骤2-8:将请求转发到服务的第二实例;
步骤2-9:将请求转发到服务的任意实例上;
步骤2-10:不匹配服务的路由规则,进行后续服务的路由匹配。
2.一种支持多优先级策略的网关路由规则的设置方法,其特征在于,方法包括:
步骤1-1:设置有状态服务的服务路由规则,首先针对某些有状态服务,根据请求头中的关键字段来设置自定义的个性化路由规则,分别设置该有状态服务的每个实例的个性化路由规则;
步骤1-2:设置有状态服务的服务路由规则,然后根据请求头中指定的关键字段来设置通用路由规则,分别设置该有状态服务的每个实例的通用路由规则;
步骤1-3:设置无状态服务的服务路由规则,首先针对某些无状态服务,根据请求头中的关键字段来设置自定义的个性化路由规则,分别设置该无状态服务的任意实例的个性化路由规则;
步骤1-4:设置无状态服务的服务路由规则,然后支持根据请求头中的关键字段来设置通用路由规则,分别设置该无状态服务的任意实例的通用路由规则。
3.一种支持多优先级策略的网关路由匹配方法,其特征在于,方法包括:
步骤2-1:进行有状态服务的服务路由规则匹配,首先进行个性化服务路由规则匹配,判断请求头中的某些自定义字段的取值是否带有关键信息,若带有关键信息则确认服务的实例匹配成功,执行步骤2-7;若不带有关键信息则确认服务的实例匹配失败,执行步骤2-2;
步骤2-2:判断请求头中某些自定义字段的取值是否带有关键信息,若带有关键信息则确认服务的实例匹配成功,执行步骤2-8;若不带有关键信息则确认服务的实例匹配失败,执行步骤2-3;
步骤2-3:进行有状态服务的服务路由规则匹配,首先进行通用服务路由规则匹配,判断请求头中某些指定的字段的取值是否带有关键信息,若带有关键信息则确认服务的实例匹配成功,执行步骤2-7;若不带有关键信息则确认服务的实例匹配失败,执行步骤2-4;
步骤2-4:判断请求头中某些指定的字段的取值是否带有关键信息,若带有关键信息则确认服务的实例匹配成功,执行步骤2-8;若不带有关键信息则确认服务的实例匹配失败,执行步骤2-5;
步骤2-5:进行无状态服务的服务路由规则匹配,首先根据请求头中的关键字段进行自定义的个性化路由规则匹配,若匹配成功则执行步骤2-9,若匹配失败则执行步骤2-6;
步骤2-6:进行无状态服务的服务路由规则匹配,然后根据请求头中的关键字段进行通用路由规则匹配,若匹配成功则执行步骤2-9,若匹配失败则执行步骤2-10;
步骤2-7:将请求转发到服务的第一实例;
步骤2-8:将请求转发到服务的第二实例;
步骤2-9:将请求转发到服务的任意实例上;
步骤2-10:不匹配服务的路由规则,进行后续服务的路由匹配。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211356959.XA CN115695319A (zh) | 2022-11-01 | 2022-11-01 | 支持多优先级策略的网关路由规则计算、设置和匹配方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211356959.XA CN115695319A (zh) | 2022-11-01 | 2022-11-01 | 支持多优先级策略的网关路由规则计算、设置和匹配方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115695319A true CN115695319A (zh) | 2023-02-03 |
Family
ID=85048845
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211356959.XA Pending CN115695319A (zh) | 2022-11-01 | 2022-11-01 | 支持多优先级策略的网关路由规则计算、设置和匹配方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115695319A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112783646A (zh) * | 2021-01-13 | 2021-05-11 | 中国工商银行股份有限公司 | 有状态应用容器化部署方法及装置 |
CN114138754A (zh) * | 2021-12-09 | 2022-03-04 | 安超云软件有限公司 | 基于Kubernetes平台的软件部署方法及装置 |
CN114374743A (zh) * | 2022-01-13 | 2022-04-19 | 上海金融期货信息技术有限公司 | 支持多种服务发现机制的网关路由规则生成方法和系统 |
US11411886B1 (en) * | 2021-08-12 | 2022-08-09 | International Business Machines Corporation | Automatic cluster scaling based on varying workloads |
CN115086330A (zh) * | 2022-06-14 | 2022-09-20 | 亚信科技(中国)有限公司 | 跨集群负载均衡系统 |
-
2022
- 2022-11-01 CN CN202211356959.XA patent/CN115695319A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112783646A (zh) * | 2021-01-13 | 2021-05-11 | 中国工商银行股份有限公司 | 有状态应用容器化部署方法及装置 |
US11411886B1 (en) * | 2021-08-12 | 2022-08-09 | International Business Machines Corporation | Automatic cluster scaling based on varying workloads |
CN114138754A (zh) * | 2021-12-09 | 2022-03-04 | 安超云软件有限公司 | 基于Kubernetes平台的软件部署方法及装置 |
CN114374743A (zh) * | 2022-01-13 | 2022-04-19 | 上海金融期货信息技术有限公司 | 支持多种服务发现机制的网关路由规则生成方法和系统 |
CN115086330A (zh) * | 2022-06-14 | 2022-09-20 | 亚信科技(中国)有限公司 | 跨集群负载均衡系统 |
Non-Patent Citations (2)
Title |
---|
CARLO PULIAFITO: ""Stateless or Stateful FaaS? I\'ll Take Both"", 《IEEE》, 14 April 2022 (2022-04-14) * |
张勋;张呈宇;魏进武;: "一种基于容器编排技术的资源运维系统的设计与实现", 电信科学, no. 06, 20 June 2018 (2018-06-20) * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3726811A1 (en) | Proxy routing based on path headers | |
US20220021644A1 (en) | Network containers | |
US9037628B2 (en) | Intelligent establishment of peer-to-peer communication | |
US9350791B2 (en) | System and method of injecting states into message routing in a distributed computing environment | |
US20150312155A1 (en) | System and method for efectuating packet distribution among servers in a network | |
CN110313163A (zh) | 分布式计算系统中的负载平衡 | |
US9961058B2 (en) | System and method of message routing via connection servers in a distributed computing environment | |
US9350812B2 (en) | System and method of message routing using name-based identifier in a distributed computing environment | |
Caprolu et al. | Fortress: an efficient and distributed firewall for stateful data plane sdn | |
CN105227602A (zh) | 一种负载均衡的方法、客户端、注册服务器和系统 | |
US10523733B1 (en) | Highly scalable methods and apparatus for balancing SIP loads across a cluster of SIP processing entities | |
US9363660B2 (en) | Processing data in a cluster of network nodes | |
US12010195B2 (en) | Efficient flow management utilizing control packets | |
CN111510478A (zh) | 请求处理方法、装置、系统及电子设备 | |
JP2024509941A (ja) | セキュリティエッジ保護プロキシ(sepp)における代行承認のための方法、システム、およびコンピュータ可読媒体 | |
CN114374743B (zh) | 支持多种服务发现机制的网关路由规则生成方法和系统 | |
JP2016111703A (ja) | 情報指向ネットワークにおけるコンテンツ配置 | |
US10027577B2 (en) | Methods, systems, and computer readable media for peer aware load distribution | |
EP2348686B1 (en) | Information processing device, method and computer program for decide an address | |
US9888001B2 (en) | Methods, systems, and computer readable media for negotiating diameter capabilities | |
CN110071872B (zh) | 业务报文转发方法、装置、电子设备 | |
US10009258B2 (en) | Methods, systems, and computer readable media for routing a redirected request message | |
CN115695319A (zh) | 支持多优先级策略的网关路由规则计算、设置和匹配方法 | |
WO2023229855A1 (en) | Methods, systems, and computer readable media for utilizing network function (nf) service attributes associated with registered nf service producers in a hierarchical network | |
US9432415B2 (en) | Processing data |
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 |