CN113612686A - 流量调度方法、装置及电子设备 - Google Patents
流量调度方法、装置及电子设备 Download PDFInfo
- Publication number
- CN113612686A CN113612686A CN202110729546.0A CN202110729546A CN113612686A CN 113612686 A CN113612686 A CN 113612686A CN 202110729546 A CN202110729546 A CN 202110729546A CN 113612686 A CN113612686 A CN 113612686A
- Authority
- CN
- China
- Prior art keywords
- service
- dyeing
- information
- initiator
- request
- 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 46
- 238000004043 dyeing Methods 0.000 claims abstract description 107
- 239000003999 initiator Substances 0.000 claims abstract description 79
- 238000004040 coloring Methods 0.000 claims description 22
- 235000014510 cooky Nutrition 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 9
- 238000012546 transfer Methods 0.000 claims description 5
- 238000010186 staining Methods 0.000 claims 4
- 238000012545 processing Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 229940004975 interceptor Drugs 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/14—Routing performance; Theoretical aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请公开了一种流量调度方法、装置及电子设备,用以实现业务系统中全业务链路的流量调度。所述流量调度方法包括:接收针对目标服务的服务调用请求;基于所述服务调用请求的发起方的属性信息和预定的染色策略,为所述服务调用请求添加与所述发起方对应的染色信息,所述染色信息用于指示所述目标服务的版本类型及版本号,所述版本类型包括正常版本和灰度版本;基于预定的路由策略,将所述服务调用请求路由至与所述染色信息对应的业务节点,以由所述业务节点为所述发起方提供所述目标服务,所述业务节点包括前端网页服务器和/或微服务,所述染色策略和所述路由策略是通过云服务平台预先配置的。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种流量调度方法、装置及电子设备。
背景技术
在进行灰度发布时,通常会在业务系统中部署和运行包括正常版本和灰度版本等不同版本的业务服务,然后对接收到的用户流量进行分流,以为不同用户流量提供不同版本的业务服务。目前,在对接入的用户流量进行分流时,主要是根据用户流量对业务系统中相关业务接口的调用情况进行分流,因而只能实现针对微服务链路的流量引流,具有一定的局限性。
因此,目前亟需一种能够真正实现业务系统中全业务链路的流量调度方案。
发明内容
本申请实施例提供一种流量调度方法、装置及电子设备,用以实现业务系统中全业务链路的流量调度。
为了实现上述目的,本申请实施例采用下述技术方案:
第一方面,提供一种流量调度方法,包括:
接收针对目标服务的服务调用请求;
基于所述服务调用请求的发起方的属性信息和预定的染色策略,为所述服务调用请求添加与所述发起方对应的染色信息,所述染色信息用于指示所述目标服务的版本类型及版本号,所述版本类型包括正常版本和灰度版本;
基于预定的路由策略,将所述服务调用请求路由至与所述染色信息对应的业务节点,以由所述业务节点为所述发起方提供所述目标服务,所述业务节点包括前端网页服务器和/或微服务,所述染色策略和所述路由策略是通过云服务平台预先配置的。
第二方面,提供一种流量调度装置,包括:
接收单元,接收针对目标服务的服务调用请求;
染色单元,基于所述服务调用请求的发起方的属性信息和预定的染色策略,为所述服务调用请求添加与所述发起方对应的染色信息,所述染色信息用于指示所述目标服务的版本类型及版本号,所述版本类型包括正常版本和灰度版本;
路由单元,基于预定的路由策略,将所述服务调用请求路由至与所述染色信息对应的业务节点,以由所述业务节点为所述发起方提供所述目标服务,所述业务节点包括前端网页服务器和/或微服务,所述染色策略和所述路由策略是通过云服务平台预先配置的。
第三方面,提供一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如第一方面所述的方法的步骤。
第四方面,提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的方法的步骤。
本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:
基于预定的染色策略和服务调用请求的发起方的属性信息,为服务调用请求添加与发起方对应的染色信息,可以实现在调用链路的源端对访问流量进行染色;根据染色信息和预定的路由策略,将服务调用请求传递和路由至相应业务节点,以由业务节点为发起方提供服务调用请求所请求的服务,由此能够真正实现业务系统中全业务链路的流量调度。并且,染色策略和路由策略是通过云服务平台预先配置的,可以实现染色策略和路由策略的统一配置和批量下发,便于对业务系统进行维护和管理。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例提供的流量调度方法所适用的实施环境的示意图;
图2为本申请一示例性实施例提供的一种流量调度方法的流程示意图;
图3为本申请另一示例性实施例提供的一种流量调度方法的流程示意图;
图4为本申请一示例性实施例提供的一种电子设备的结构示意图;
图5为本申请一示例性实施例提供的一种流量调度装置的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
以下结合附图,详细说明本申请各实施例提供的技术方案。
如前所述,现有的流量调度方案主要是根据用户流量对业务系统中相关业务接口的调用情况进行分流,因而只能实现针对微服务链路的流量引流,具有一定的局限性。
为此,本申请实施例旨在提供一种流量调度方案,通过按照服务调用请求的发起方的属性信息,从接收服务调用请求的源端对服务调用请求进行染色,并根据染色信息将服务调用请求传递和路由至相应版本的业务节点,以由业务节点为发起方提供服务调用请求所请求的服务,由此能够真正实现业务系统中全业务链路的流量调度。
为了便于理解,下面先对本申请实施例提供的流量调度方法所适用的实施环境进行简单介绍。请参考图1,为本申请实施例涉及的实施环境的示意图。本申请涉及的实施环境包括前台系统和中台系统。其中,前台系统可以用于向用户提供服务,中台系统可以用于向前台系统提供对应的业务支持。
作为一个实施例,前台系统可以包括前端、前端路由层nginx、反向代理服务层、前台网关、前台应用等。前端可以负责对外提供系统访问界面,具体地,如图1所示,前端可以包括用户登录模块和不同版本的网页,比如正常版本的网页和灰度版本的网页。前端路由层nginx可以实现请求信息的路由。反向代理服务层可以负责代理第三方对接等。前台网关是前台应用的统一入口,可以实现权限验证、监控、缓存、服务路由等功能。前台应用负责完成请求信息的组织并调用中台系统完成响应,前台应用可以与前端中的网页一一对应,例如,如图1所示,前台应用可以包括与正常版本的网页对应的正常网页应用以及与灰度版本的网页对应的灰度网页应用。
作为一个实施例,中台系统可以包括中台统一网关和中台微服务等。中台统一网关是中台微服务的统一入口,可以实现权限验证、监控、缓存、服务路由等功能。中台微服务基于来自前台系统的业务请求,向前台系统提供对应的业务支持。实际应用中,可以根据实际业务需要,在中台系统中部署多个中台网关和多个中台微服务的数量,且中台网关和中台微服务一一对应。不同中台微服务提供不同的业务支持,中台网关则是所对应的中台微服务的统一入口。另外,提供相同业务支持的中台微服务可以具有不同的版本。例如,如图1所示,中台系统可以提供的业务支持包括承保业务、用户中心业务、客户中心业务以及工具平台业务,不同业务对应相应的中台网关、正常版本的微服务和异常版本的微服务。
值得说明的是,实际应用中,前端、前台应用以及中台微服务等业务节点可以采用版本分组部署策略,根据不同的业务场景建立不同的版本分组,并对向上兼容的业务单元可使用相同版本,而对涉及消息队列的相关微服务则可以采用分组部署方式。另外,不同版本的微服务可以使用相同的数据库,且数据库能够实现向上兼容设计。
基于上述实施环境,下面结合附图详细说明本申请各实施例提供的技术方案。
请参考图2,为本申请一示例性实施例提供的流量调度方法的流程示意图,该方法包括以下步骤:
S202,接收针对目标服务的服务调用请求。
其中,服务调用请求用于请求调用目标服务。服务调用请求可以是网页访问请求,或者也可以是接口调用请求。服务调用请求中可以携带发起方属性信息等。发起方的属性信息可以包括但不限于以下信息中的至少一种:发起方的互联网协议(InternetProtocol,IP)地址、标识信息及类型等。另外,不同类型的发起方对应的属性信息可以不同。例如,如果发起方为用户设备,则发起方的属性信息还可以包括所登录账户的归属机构的机构识别码、用户设备的设备类型等。
S204,基于服务调用请求的发起方的属性信息和预定的染色策略,为服务调用请求添加与发起方对应的染色信息。
其中,染色信息用于指示目标服务的版本类型及版本号,版本类型包括正常版本和灰度版本。染色策略是通过云服务平台预先配置的。染色策略包含发起方的属性信息与染色信息之间的对应关系。在较为优选地,为了便于对不同的类型的服务调用请求进行分流,不同类型的服务调用请求对应的染色策略不同。
具体实施时,可通过云服务平台预先配置染色策略并下发至业务系统的染色接口中,在接收到服务调用请求时,调用染色接口,通过向染色接口输入发起方的属性信息,获取到与发起方对应的染色信息,然后将染色信息添加至服务调用请求中。例如,向染色接口输入发起方所属的机构标识码comcode=100,即可得到染色接口返回的染色信息gray_version=V1.0,其中,gray_version表示版本类型为灰度版本,V1.0表示该灰度版本的版本号。又如,向染色接口输入发起方的服务名“carService”,即可得到染色接口返回的染色信息gray_version=V1.1,其中,gray_version表示版本类型为灰度版本,V1.1表示该灰度版本的版本号。
更为具体地,如图3所示,在用户请求访问前端网页时,用户登录模块检测用户是否成功登录前端网页,如果是,则由用户登录模块从用户中心读取用户的属性信息,并将用户的属性信息输入染色接口,基于染色接口返回的染色信息生成用于访问静态网页的网页访问请求和用于调用服务接口的接口调用请求,并将生成的网页访问请求和接口调用请求发送至对应的前端路由层nginx或反向代理服务层。
为了实现染色信息在业务系统中的全链路传递,对于网页访问请求,用户登录模块可以将染色信息设置在发起方的cookie中,并将发起方的cookie添加至该网页访问请求中,以通过发起方的cookie进行染色信息的传递。对于接口调用请求,用户登录模块可以在接口调用请求中设置HTTP请求头标签,由此完成染色信息在接口调用链路中的传递。
S206,基于预定的路由策略,将服务调用请求路由至与染色信息对应的业务节点,以由业务节点为发起方提供目标服务。
其中,业务节点包括前端网页服务器和/或微服务。路由策略是通过云服务平台预先配置的。路由策略用于指示服务调用请求的类型、所携带的染色信息及路由链路之间的对应关系。
作为一种实施方式,如果服务调用请求为网页访问请求,则可通过前端路由层nginx解析该网页访问请求,以获取发起方的cookie,并基于发起方的cookie中的染色信息,将发起方的cookie和预定的路由策略,将发起方的cookie发送至与染色信息对应的前端网页服务器,进而使得前端网页服务器基于发起方的cookie,为发起方提供染色信息指示版本的目标服务。可以理解,通过该实施方式,可以实现不同版本的前端网页的引流,实现发起方对不同版本的前端网页的访问。
作为另一种实施方式,如果服务调用请求为接口调用请求,则可以为了使染色信息在经过业务链路中的各级节点后仍然保持不变,则可通过前台系统的反向代理服务层将接口调用请求中携带的cookie转换为超文本传输协议(Hyper Text Transfer Protocol,HTTP)头标签,然后基于HTTP头标签中指示的染色信息和预定的路由策略,将HTTP头标签发送至与染色信息对应的微服务。由此,可以实现不同版本的微服务的用户流量分流。
实际应用中,在通过前台网关将接口调用请求中携带的cookie转换为HTTP头标签后,可利用Ribbon客户端路由技术,将HTTP头标签路由至与染色信息对应的微服务。
进一步地,如果与染色信息对应的微服务还存在下一级微服务,则继续将HTTP头标签路由至该下一级微服务,直到将HTTP头标签路由至对应路由链路的终点,此时完成对服务调用请求中的染色信息的传递,由此由位于终点的微服务为发起方提供相应版本的微服务。其中,不同层级的微服务之间可利用Ribbon客户端路由技术进行数据路由。
具体地,作为一种实施方式,如果与染色信息对应的微服务还存在下一级微服务,则可以通过预置的拦截器在下一级Rest请求中设置HTTP头标签,然后向下一级微服务发送下一级Rest请求。
更为具体地,可以在不同层级的微服务之间设置Resttemplate,并在Resttemplate中设置Interceptor拦截器,通过该Interceptor拦截器拦截HTTP头标签并将HTTP头标签设置在下一级Rest请求中。或者,可以为Feign客户端设置拦截器FeignConfig,以通过拦截器FeignConfig将本级问服务的染色信息传递到下一级Restful请求中。
例如,如图3所示,如果前台网关转换得到的HTTP头标签中指示的染色信息为gray_version=V1.1,前台网关则将HTTP头标签发送至灰度版本V1.1对应的前台应用V1.1,前台应用V1.1将HTTP头标签发送至Resttemplate,Resttemplate中的Interceptor拦截器拦截HTTP头标签并将HTTP头标签设置在下一级Rest请求中,然后将下一级Rest请求发送给承保中台网关,由承保中台网关基于Ribbon客户端路由技术将该下一级Rest请求路由至与染色信息对应的车险承保投保微服务。
作为另一种实施方式,如果与染色信息对应的微服务还存在下一级微服务,则可以生成与HTTP头标签对应的调用消息,并在调用消息的头部信息中添加HTTP头标签中指示的染色信息,然后将调用消息发送至与下一级微服务对应的消息队列中。其中,调用消息的格式遵循PDF-C消息体同一定义的PFDC_MSG规范。由此,下一级微服务可以解析调用消息中的染色信息,并将解析得到的染色信息设置到下一级的Restful请求中。
例如,如图3所示,车险承保投保微服务V1.0可以生成与接收到的HTTP头标签对应的调用消息,并在该调用消息的头部信息中添加染色信息,然后将调用消息发送至下游消息处理微服务V1.0对应的消息队列V1.0中,以使下游消息处理微服务V1.0从消息队列V1.0中读取调用消息并进行相应的处理。又如,车险承保投保微服务V1.1可以生成与接收到的HTTP头标签对应的调用消息,并在该调用消息的头部信息中添加染色信息,然后将调用消息发送至下游消息处理微服务V1.1对应的消息队列V1.1中,以使下游消息处理微服务V1.1从消息队列V1.1中读取调用消息并进行相应的处理。
通过本申请实施例提供的流量调度方法,基于预定的染色策略和服务调用请求的发起方的属性信息,为服务调用请求添加与发起方对应的染色信息,可以实现在调用链路的源端对访问流量进行染色;根据染色信息和预定的路由策略,将服务调用请求传递和路由至相应业务节点,以由业务节点为发起方提供服务调用请求所请求的服务,由此能够真正实现业务系统中全业务链路的流量调度。并且,染色策略和路由策略是通过云服务平台预先配置的,可以实现染色策略和路由策略的统一配置和批量下发,便于对业务系统进行维护和管理。
需要说明的是,上述实施例所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。比如,步骤202和步骤204的执行主体可以为设备1,步骤206的执行主体可以为设备2;又比如,步骤202的执行主体可以为设备1,步骤204和步骤206的执行主体可以为设备2;等等。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
图4是本申请的一个实施例电子设备的结构示意图。请参考图4,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成流量调度装置。处理器,执行存储器所存放的程序,并具体用于执行以下操作:
接收针对目标服务的服务调用请求;
基于所述服务调用请求的发起方的属性信息和预定的染色策略,为所述服务调用请求添加与所述发起方对应的染色信息,所述染色信息用于指示所述目标服务的版本类型及版本号,所述版本类型包括正常版本和灰度版本;
基于预定的路由策略,将所述服务调用请求路由至与所述染色信息对应的业务节点,以由所述业务节点为所述发起方提供所述目标服务,所述业务节点包括前端网页服务器和/或微服务,所述染色策略和所述路由策略是通过云服务平台预先配置的。
上述如本申请图2所示实施例揭示的流量调度装置执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
该电子设备还可执行图2的方法,并实现流量调度装置在图2所示实施例的功能,本申请实施例在此不再赘述。
当然,除了软件实现方式之外,本申请的电子设备并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
本申请实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的便携式电子设备执行时,能够使该便携式电子设备执行图1所示实施例的方法,并具体用于执行以下操作:
接收针对目标服务的服务调用请求;
基于所述服务调用请求的发起方的属性信息和预定的染色策略,为所述服务调用请求添加与所述发起方对应的染色信息,所述染色信息用于指示所述目标服务的版本类型及版本号,所述版本类型包括正常版本和灰度版本;
基于预定的路由策略,将所述服务调用请求路由至与所述染色信息对应的业务节点,以由所述业务节点为所述发起方提供所述目标服务,所述业务节点包括前端网页服务器和/或微服务,所述染色策略和所述路由策略是通过云服务平台预先配置的。
图5是本申请的一个实施例流量调度装置的结构示意图。请参考图5,在一种软件实施方式中,流量调度装置500可包括:
接收单元510,接收针对目标服务的服务调用请求;
染色单元520,基于所述服务调用请求的发起方的属性信息和预定的染色策略,为所述服务调用请求添加与所述发起方对应的染色信息,所述染色信息用于指示所述目标服务的版本类型及版本号,所述版本类型包括正常版本和灰度版本;
路由单元530,基于预定的路由策略,将所述服务调用请求路由至与所述染色信息对应的业务节点,以由所述业务节点为所述发起方提供所述目标服务,所述业务节点包括前端网页服务器和/或微服务,所述染色策略和所述路由策略是通过云服务平台预先配置的。
可选地,所述染色单元520,基于所述染色策略和所述发起方的属性信息,确定与所述发起方对应的染色信息,将所述染色信息设置在所述发起方的cookie中,并将所述发起方的cookie添加至所述服务调用请求中。
可选地,如果所述服务调用请求为网页访问请求,则所述染色单元520,通过前端路由层nginx解析所述网页访问请求,以获取所述发起方的cookie,并基于所述发起方的cookie中的染色信息和预定的路由策略,将所述发起方的cookie发送至与所述染色信息对应的前端网页服务器。
可选地,如果所述服务调用请求为接口调用请求,则所述染色单元520,通过反向代理服务层将所述接口调用请求转发至前台网关,通过所述前台网关将所述接口调用请求中携带的cookie转换为超文本传输协议HTTP头标签,以及基于所述HTTP头标签中指示的染色信息和预定的路由策略,将所述HTTP头标签发送至与所述染色信息对应的微服务。
可选地,所述装置还包括:
第一设置单元,如果所述对应的微服务存在对应的下一级微服务,则通过预置的拦截器在下一级Rest请求中设置所述HTTP头标签;
第一发送单元,向所述下一级微服务发送所述下一级Rest请求。
可选地,所述装置还包括:
生成单元,如果所述对应的微服务存在对应的下一级微服务,则生成与所述HTTP头标签对应的调用消息,并在所述调用消息的头部信息中添加所述染色信息;
第二发送单元,将所述调用消息发送至与所述下一级微服务对应的消息队列中。
可选地,所述发起方的属性信息包括以下信息中的至少一种:所述发起方的互联网协议IP地址、标识信息及类型。
通过本申请实施例提供的流量调度装置,基于预定的染色策略和服务调用请求的发起方的属性信息,为服务调用请求添加与发起方对应的染色信息,可以实现在调用链路的源端对访问流量进行染色;根据染色信息和预定的路由策略,将服务调用请求传递和路由至相应业务节点,以由业务节点为发起方提供服务调用请求所请求的服务,由此能够真正实现业务系统中全业务链路的流量调度。并且,染色策略和路由策略是通过云服务平台预先配置的,可以实现染色策略和路由策略的统一配置和批量下发,便于对业务系统进行维护和管理。
总之,以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
Claims (10)
1.一种流量调度方法,其特征在于,包括:
接收针对目标服务的服务调用请求;
基于所述服务调用请求的发起方的属性信息和预定的染色策略,为所述服务调用请求添加与所述发起方对应的染色信息,所述染色信息用于指示所述目标服务的版本类型及版本号,所述版本类型包括正常版本和灰度版本;
基于预定的路由策略,将所述服务调用请求路由至与所述染色信息对应的业务节点,以由所述业务节点为所述发起方提供所述目标服务,所述业务节点包括前端网页服务器和/或微服务,所述染色策略和所述路由策略是通过云服务平台预先配置的。
2.根据权利要求1所述的方法,其特征在于,所述基于所述服务调用请求的发起方的属性信息和预定的染色策略,为所述服务调用请求添加与所述发起方对应的染色信息,包括:
基于所述染色策略和所述发起方的属性信息,确定与所述发起方对应的染色信息;
将所述染色信息设置在所述发起方的cookie中,并将所述发起方的cookie添加至所述服务调用请求中。
3.根据权利要求2所述的方法,其特征在于,如果所述服务调用请求为来自网页访问请求,则所述基于预定的路由策略,将所述服务调用请求路由至与所述染色信息对应的业务节点,包括:
通过前端路由层nginx解析所述网页访问请求,以获取所述发起方的cookie;
基于所述发起方的cookie中的染色信息和预定的路由策略,将所述发起方的cookie发送至与所述染色信息对应的前端网页服务器。
4.根据权利要求2所述的方法,其特征在于,如果所述服务调用请求为接口调用请求,所述基于预定的路由策略,将所述服务调用请求路由至与所述染色信息对应的业务节点,包括:
通过反向代理服务层将所述接口调用请求转发至前台网关;
通过所述前台网关将所述接口调用请求中携带的cookie转换为超文本传输协议HTTP头标签;
基于所述HTTP头标签中指示的染色信息和预定的路由策略,将所述HTTP头标签发送至与所述染色信息对应的微服务。
5.根据权利要求4所述的方法,其特征在于,在基于所述HTTP头标签中指示的染色信息,将所述HTTP头标签发送至与所述染色信息对应的微服务之后,所述方法还包括:
如果所述对应的微服务存在对应的下一级微服务,则通过预置的拦截器在下一级Rest请求中设置所述HTTP头标签;
向所述下一级微服务发送所述下一级Rest请求。
6.根据权利要求4所述的方法,其特征在于,在基于所述HTTP头标签中指示的染色信息,将所述HTTP头标签发送至与所述染色信息对应的微服务之后,所述方法还包括:
如果所述对应的微服务存在对应的下一级微服务,则生成与所述HTTP头标签对应的调用消息,并在所述调用消息的头部信息中添加所述染色信息;
将所述调用消息发送至与所述下一级微服务对应的消息队列中。
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述发起方的属性信息包括以下信息中的至少一种:所述发起方的互联网协议IP地址、标识信息及类型。
8.一种流量调度装置,其特征在于,包括:
接收单元,接收针对目标服务的服务调用请求;
染色单元,基于所述服务调用请求的发起方的属性信息和预定的染色策略,为所述服务调用请求添加与所述发起方对应的染色信息,所述染色信息用于指示所述目标服务的版本类型及版本号,所述版本类型包括正常版本和灰度版本;
路由单元,基于预定的路由策略,将所述服务调用请求路由至与所述染色信息对应的业务节点,以由所述业务节点为所述发起方提供所述目标服务,所述业务节点包括前端网页服务器和/或微服务,所述染色策略和所述路由策略是通过云服务平台预先配置的。
9.一种电子设备,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110729546.0A CN113612686A (zh) | 2021-06-29 | 2021-06-29 | 流量调度方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110729546.0A CN113612686A (zh) | 2021-06-29 | 2021-06-29 | 流量调度方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113612686A true CN113612686A (zh) | 2021-11-05 |
Family
ID=78303865
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110729546.0A Pending CN113612686A (zh) | 2021-06-29 | 2021-06-29 | 流量调度方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113612686A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114138307A (zh) * | 2021-12-08 | 2022-03-04 | 兴业银行股份有限公司 | 基于开发平台和框架实现灰度发布的方法和系统 |
CN114338526A (zh) * | 2022-01-06 | 2022-04-12 | 上海幻电信息科技有限公司 | 数据传输方法及装置 |
CN114338763A (zh) * | 2021-12-20 | 2022-04-12 | 深圳Tcl新技术有限公司 | 微服务调用方法、装置、服务器与计算机可读存储介质 |
CN114615192A (zh) * | 2022-02-16 | 2022-06-10 | 杭州信公小安信息科技有限公司 | 一种分布式全链路灰度发布方法及装置 |
CN115297158A (zh) * | 2022-08-02 | 2022-11-04 | 成都市吉祥锐意科技有限公司 | 一种基于服务及流量染色的多租户方法与系统 |
CN115914405A (zh) * | 2022-11-30 | 2023-04-04 | 支付宝(杭州)信息技术有限公司 | 业务处理方法及装置 |
CN116032806A (zh) * | 2023-03-27 | 2023-04-28 | 杭州谐云科技有限公司 | 一种流量染色方法和系统 |
WO2024114514A1 (zh) * | 2022-11-28 | 2024-06-06 | 天翼数字生活科技有限公司 | 一种微服务版本发布的流量验证方法及系统 |
CN115297158B (zh) * | 2022-08-02 | 2024-10-18 | 成都市吉祥锐意科技有限公司 | 一种基于服务及流量染色的多租户方法与系统 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105791344A (zh) * | 2014-12-22 | 2016-07-20 | 华为软件技术有限公司 | 灰度发布业务处理的方法、系统、负载均衡器及服务总线装置 |
CN108880887A (zh) * | 2018-06-20 | 2018-11-23 | 山东大学 | 基于微服务的陪护机器人云服务系统及方法 |
CN109729131A (zh) * | 2018-04-12 | 2019-05-07 | 平安普惠企业管理有限公司 | 一种应用请求的处理方法、装置和路由器 |
CN109726099A (zh) * | 2018-04-12 | 2019-05-07 | 平安普惠企业管理有限公司 | 一种应用灰度发布方法、装置及设备 |
CN110489133A (zh) * | 2019-08-23 | 2019-11-22 | 亿企赢网络科技有限公司 | 一种灰度发布方法、系统及电子设备和存储介质 |
CN111290867A (zh) * | 2020-02-27 | 2020-06-16 | 北京三快在线科技有限公司 | 流量调度方法、业务服务器、存储介质及流量调度系统 |
CN111786885A (zh) * | 2020-06-23 | 2020-10-16 | 中国工商银行股份有限公司 | 分布式全链路灰度路由方法及装置 |
US20200336553A1 (en) * | 2019-04-17 | 2020-10-22 | Home Depot Product Authority, Llc | Customizable router for managing traffic between application programming interfaces |
CN112162774A (zh) * | 2020-09-28 | 2021-01-01 | 中国工商银行股份有限公司 | 一种软件灰度发布方法及装置 |
CN112882688A (zh) * | 2021-01-07 | 2021-06-01 | 中国人民财产保险股份有限公司 | 一种基于云的支持多前端项目接入的架构 |
CN112995310A (zh) * | 2021-02-10 | 2021-06-18 | 中国工商银行股份有限公司 | 基于自定义路由的多分层调用灰度发布方法及装置 |
-
2021
- 2021-06-29 CN CN202110729546.0A patent/CN113612686A/zh active Pending
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105791344A (zh) * | 2014-12-22 | 2016-07-20 | 华为软件技术有限公司 | 灰度发布业务处理的方法、系统、负载均衡器及服务总线装置 |
CN109729131A (zh) * | 2018-04-12 | 2019-05-07 | 平安普惠企业管理有限公司 | 一种应用请求的处理方法、装置和路由器 |
CN109726099A (zh) * | 2018-04-12 | 2019-05-07 | 平安普惠企业管理有限公司 | 一种应用灰度发布方法、装置及设备 |
CN108880887A (zh) * | 2018-06-20 | 2018-11-23 | 山东大学 | 基于微服务的陪护机器人云服务系统及方法 |
US20200336553A1 (en) * | 2019-04-17 | 2020-10-22 | Home Depot Product Authority, Llc | Customizable router for managing traffic between application programming interfaces |
CN110489133A (zh) * | 2019-08-23 | 2019-11-22 | 亿企赢网络科技有限公司 | 一种灰度发布方法、系统及电子设备和存储介质 |
CN111290867A (zh) * | 2020-02-27 | 2020-06-16 | 北京三快在线科技有限公司 | 流量调度方法、业务服务器、存储介质及流量调度系统 |
CN111786885A (zh) * | 2020-06-23 | 2020-10-16 | 中国工商银行股份有限公司 | 分布式全链路灰度路由方法及装置 |
CN112162774A (zh) * | 2020-09-28 | 2021-01-01 | 中国工商银行股份有限公司 | 一种软件灰度发布方法及装置 |
CN112882688A (zh) * | 2021-01-07 | 2021-06-01 | 中国人民财产保险股份有限公司 | 一种基于云的支持多前端项目接入的架构 |
CN112995310A (zh) * | 2021-02-10 | 2021-06-18 | 中国工商银行股份有限公司 | 基于自定义路由的多分层调用灰度发布方法及装置 |
Non-Patent Citations (2)
Title |
---|
F. RICCA,等: ""Analysis and testing of Web applications"", 《PROCEEDINGS OF THE 23RD INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING. ICSE 2001》 * |
李晓毅: "电子银行系统灰度发布的研究与实现", 《金融电子化》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114138307A (zh) * | 2021-12-08 | 2022-03-04 | 兴业银行股份有限公司 | 基于开发平台和框架实现灰度发布的方法和系统 |
CN114338763A (zh) * | 2021-12-20 | 2022-04-12 | 深圳Tcl新技术有限公司 | 微服务调用方法、装置、服务器与计算机可读存储介质 |
CN114338763B (zh) * | 2021-12-20 | 2024-01-19 | 深圳Tcl新技术有限公司 | 微服务调用方法、装置、服务器与计算机可读存储介质 |
CN114338526A (zh) * | 2022-01-06 | 2022-04-12 | 上海幻电信息科技有限公司 | 数据传输方法及装置 |
CN114615192A (zh) * | 2022-02-16 | 2022-06-10 | 杭州信公小安信息科技有限公司 | 一种分布式全链路灰度发布方法及装置 |
CN115297158A (zh) * | 2022-08-02 | 2022-11-04 | 成都市吉祥锐意科技有限公司 | 一种基于服务及流量染色的多租户方法与系统 |
CN115297158B (zh) * | 2022-08-02 | 2024-10-18 | 成都市吉祥锐意科技有限公司 | 一种基于服务及流量染色的多租户方法与系统 |
WO2024114514A1 (zh) * | 2022-11-28 | 2024-06-06 | 天翼数字生活科技有限公司 | 一种微服务版本发布的流量验证方法及系统 |
CN115914405A (zh) * | 2022-11-30 | 2023-04-04 | 支付宝(杭州)信息技术有限公司 | 业务处理方法及装置 |
CN116032806A (zh) * | 2023-03-27 | 2023-04-28 | 杭州谐云科技有限公司 | 一种流量染色方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113612686A (zh) | 流量调度方法、装置及电子设备 | |
CN111600909B (zh) | 数据处理方法、装置、协议转换设备及存储介质 | |
CN109067914B (zh) | Web服务的代理方法、装置、设备及存储介质 | |
US11575735B2 (en) | Cloud application-agnostic data loss prevention (DLP) | |
CN108600326B (zh) | 通信方法、装置及设备 | |
WO2019042240A1 (zh) | 一种短链接解析方法、装置及设备 | |
CN114866965A (zh) | 基于MaaP的5G消息通讯方法、系统、电子设备和存储介质 | |
US9742835B2 (en) | System and method for backend control of frontend user interfaces | |
CN114040032A (zh) | 一种协议转换方法、系统、存储介质及电子设备 | |
CN110958278B (zh) | 基于api网关实现的数据处理方法、系统和api网关 | |
CN111510330B (zh) | 接口管理装置、方法及存储介质 | |
CN112702336A (zh) | 政务服务的安全控制方法、装置、安全网关及存储介质 | |
CN116055524A (zh) | 用于互联网平台与物联网设备的交互方法、处理器及装置 | |
CN106612263B (zh) | 一种用于处理应用访问请求的方法与设备 | |
CN112751935B (zh) | 请求处理方法、装置、电子设备及存储介质 | |
CN112738181B (zh) | 集群外部ip接入的方法、装置及服务器 | |
CN107395663A (zh) | 数据获取方法及装置 | |
CN112583776A (zh) | 网络资源的处理方法、装置和系统、存储介质及电子设备 | |
CN113485758A (zh) | 微服务发布方法、装置及电子设备、存储介质 | |
CN109600403B (zh) | 一种发送信息的方法及装置 | |
CN112929453A (zh) | 一种共享session数据的方法和装置 | |
CN113852551A (zh) | 一种报文处理方法及装置 | |
US10623523B2 (en) | Distributed communication and task handling to facilitate operations of application system | |
CN115022387B (zh) | 跨域预检请求的处理方法、装置、设备及介质 | |
CN112422429B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20211105 |