CN113518038A - 多机房流量调度方法、计算设备及计算机存储介质 - Google Patents

多机房流量调度方法、计算设备及计算机存储介质 Download PDF

Info

Publication number
CN113518038A
CN113518038A CN202110851605.1A CN202110851605A CN113518038A CN 113518038 A CN113518038 A CN 113518038A CN 202110851605 A CN202110851605 A CN 202110851605A CN 113518038 A CN113518038 A CN 113518038A
Authority
CN
China
Prior art keywords
service
machine room
processing request
preset identifier
room
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
CN202110851605.1A
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.)
Ireader Technology Co Ltd
Zhangyue Technology Co Ltd
Original Assignee
Zhangyue 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 Zhangyue Technology Co Ltd filed Critical Zhangyue Technology Co Ltd
Priority to CN202110851605.1A priority Critical patent/CN113518038A/zh
Publication of CN113518038A publication Critical patent/CN113518038A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control

Abstract

本发明公开了一种多机房流量调度方法、计算设备及计算机存储介质。该方法包括:判断接收到的业务流量处理请求中是否携带有第一预设标识;若未携带第一预设标识,则判断业务流量处理请求对应的服务机房是否为第一机房;若服务机房不是第一机房,则在业务流量处理请求添加第二预设标识,将已添加第二预设标识的业务流量处理请求路由发送至第二机房的代理组件;若携带有第一预设标识或服务机房是第一机房,则将业务流量处理请求发送给第一机房对应的服务端口进行处理,通过在业务流量处理请求中添加第二预设标识,有效控制了业务流量处理请求被路由的次数,业务流量处理请求仅会被路由一次,从而克服了流量在多机房回环的问题。

Description

多机房流量调度方法、计算设备及计算机存储介质
技术领域
本发明涉及计算机技术领域,具体涉及一种多机房流量调度方法、计算设备及计算机存储介质。
背景技术
随着互联网发展,为了提供更可靠的网络服务,越来越多的互联网服务提供商都摈弃了传统的单体式机房的架构,改为采用多机房的架构,多机房来响应服务流量。
在利用多机房来响应服务流量的过程中,流量可能会到达A机房,流量还可能会到达B机房。一般情况下,当A机房出现故障而无法成功响应流量a时,会将流量a路由发送给B机房。但是,如果B机房因为某些原因也未能成功处理流量a时,则会导致流量a再路由回到A机房,如此反复,导致流量在多机房中回环。
目前,亟需一种高效的、能够解决多机房中流量回环问题的技术方案。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的多机房流量调度方法、计算设备及计算机存储介质。
根据本发明的一个方面,提供了一种多机房流量调度方法,方法由第一机房内的代理组件执行,方法包括:
判断接收到的业务流量处理请求中是否携带有第一预设标识;
若未携带第一预设标识,则判断业务流量处理请求对应的服务机房是否为第一机房;
若服务机房不是第一机房,则在业务流量处理请求添加第二预设标识,将已添加第二预设标识的业务流量处理请求路由发送至第二机房的代理组件;
若携带有第一预设标识或服务机房是第一机房,则将业务流量处理请求发送给第一机房对应的服务端口进行处理。
根据本发明的另一方面,提供了一种计算设备,包括:处理器、存储器、通信接口和通信总线,处理器、存储器和通信接口通过通信总线完成相互间的通信;
存储器用于存放至少一可执行指令,可执行指令执行于第一机房内的代理组件,使处理器执行以下操作:
判断接收到的业务流量处理请求中是否携带有第一预设标识;
若未携带第一预设标识,则判断业务流量处理请求对应的服务机房是否为第一机房;
若服务机房不是第一机房,则在业务流量处理请求添加第二预设标识,将已添加第二预设标识的业务流量处理请求路由发送至第二机房的代理组件;
若携带有第一预设标识或服务机房是第一机房,则将业务流量处理请求发送给第一机房对应的服务端口进行处理。
根据本发明的又一方面,提供了一种计算机存储介质,存储介质中存储有至少一可执行指令,可执行指令使处理器执行如上述多机房流量调度方法对应的操作。
本发明提供的方案,在业务流量处理请求未携带第一预设标识且服务机房不是第一机房的情况下,通过在业务流量处理请求中添加第二预设标识,有效控制了业务流量处理请求被路由的次数,业务流量处理请求仅会被路由一次,从而克服了流量在多机房回环的问题。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的多机房流量调度方法的流程示意图;
图2示出了根据本发明另一个实施例的多机房流量调度方法的流程示意图;
图3示出了根据本发明一个实施例的计算设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一个实施例的多机房流量调度方法的流程示意图。每个机房都设置有相应的代理组件,该方法由第一机房内的代理组件执行,其中,第一机房可以是多机房中的任一机房,第一机房与第二机房是相对而言的,如图1所示,该方法包括以下步骤:
步骤S101,判断接收到的业务流量处理请求中是否携带有第一预设标识;若未携带第一预设标识,则执行步骤S102;若携带有第一预设标识,则执行步骤S104。
具体地,业务流量处理请求是用户发起的业务请求,用户发起请求后,该请求会被某一机房内的代理组件获取到。
而执行本实施例的多机房流量调度方法的代理组件所接收到的业务流量处理请求可能由其他机房的代理组件路由发送而来,也可能是代理组件直接获取到用户所发起的请求,针对两种不同来源,代理组件的处理方式可能会有所不同,因此,在接收到业务流量处理请求后,代理组件需要判断所接收到的业务流量处理请求中是否携带有第一预设标识,代理组件可以通过第一预设标识来识别业务流量处理请求的来源,若业务流量处理请求中携带有第一预设标识,可以确定该业务流量处理请求是由其他机房的代理组件路由发送而来,跳转执行步骤S104;若业务流量处理请求中未携带第一预设标识,可以确定该业务流量处理请求是从用户处获得,跳转执行步骤S102。
步骤S102,判断业务流量处理请求对应的服务机房是否为第一机房;若否,则执行步骤S103;若是,则执行步骤S104。这里,服务机房可以表示在多机房中用于对业务流量处理请求进行响应的目标机房。
在判断出业务流量处理请求未携带第一预设标识的情况下,为了进一步确认是否由第一机房来提供服务,代理组件还需要进一步判断业务流量处理请求对应的服务机房是否为第一机房,并根据判断结果进行不同的处理。
例如,若判断出业务流量处理请求对应的服务机房是第一机房,则需要发送给第一机房的服务端口来处理该请求;若判断出业务流量处理请求对应的服务机房不是第一机房,则需要将请求路由发送给其他机房来处理。
步骤S103,在业务流量处理请求添加第二预设标识,将已添加第二预设标识的业务流量处理请求路由发送至第二机房的代理组件。
若机房内的代理组件判断出业务流量处理请求对应的服务机房不是第一机房的情况下,需要将该业务流量处理请求路由发送给其他机房,为了避免流量在多机房中回环,在路由发送请求之前,需要在业务流量处理请求添加第二预设标识,所添加的第二预设标识表明该流量已经被该机房处理过但没有成功响应,在添加第二预设标识后,将已添加第二预设标识的业务流量处理请求路由发送至第二机房的代理组件,以由第二机房来处理该业务流量处理请求,提供相应的服务,其中,第二机房是待路由机房。
步骤S104,将业务流量处理请求发送给第一机房对应的服务端口进行处理。
若机房内的代理组件判断出业务流量处理请求携带有第一预设标识的情况下,可以确定业务流量处理请求只能由第一机房来处理,代理组件将业务流量处理请求发送给第一机房对应的服务端口进行处理;
若业务流量处理请求中未携带第一预设标识,但是,业务流量处理请求对应的服务机房是第一机房的情况下,可以确定业务流量处理请求只能由第一机房来处理,代理组件将业务流量处理请求发送给第一机房对应的服务端口进行处理。每个机房有多个服务端口,每个服务端口用于提供不同的服务,因此,可以将业务流量处理请求发送给第一机房对应的服务端口来处理。
本发明提供的方案,在业务流量处理请求未携带第一预设标识且服务机房不是第一机房的情况下,通过在业务流量处理请求中添加第二预设标识,有效控制了业务流量处理请求被路由的次数,业务流量处理请求仅会被路由一次,从而克服了流量在多机房回环的问题。
需要说明的是,在一些业务场景中,基于产品业务运营的需求,可能会将部分业务从一个机房转移到另一机房,如果想要摘除机房中某台服务器的流量,则会发现无法通过Nginx权重来实现摘除。对此,在目前相关技术中,业务方所遭遇的难题是,当任何一个机房的某台机器出现问题,想要快速摘除故障机器的流量只能通过摘除所有名字空间中涉及到的该主机的provider来实现,相比于之前只摘除Nginx来说,复杂了不少,同时也增加了业务报错时长。通过本申请实施例的应用,经过改造后,当前机房收到请求后如果发现目标服务不在本机房就转发给对面机房的Nginx,而不是具体服务,这样通过Nginx权重仍然可以完整的摘除一台机器的流量。
图2示出了根据本发明另一个实施例的多机房流量调度方法的流程示意图。每个机房都设置有相应的代理组件,该方法由第一机房内的代理组件执行,第一机房可以是多机房中的任一机房,第一机房与第二机房是相对而言的,如图2所示,该方法包括以下步骤:
步骤S201,判断接收到的业务流量处理请求中是否携带有第一预设标识;若未携带第一预设标识,则执行步骤S202;若携带有第一预设标识,则执行步骤S204。
具体地,业务流量处理请求是用户发起的业务请求,用户发起请求后,该请求会被某一机房内的代理组件获取到。其中,代理组件为Nginx服务器,Nginx服务器具有稳定高、占用内存少、并发能力强等特点。代理组件负责调度业务流量处理请求,所有的请求都会通过代理组件发送给机房的服务端口。
而执行本实施例的多机房流量调度方法的代理组件所接收到的业务流量处理请求可能由其他机房的代理组件路由发送而来,也可能是代理组件直接获取到用户所发起的请求,针对两种不同来源,代理组件的处理方式可能会有所不同,因此,在接收到业务流量处理请求后,代理组件需要判断所接收到的业务流量处理请求中是否携带有第一预设标识,例如,代理组件对业务流量处理请求的头信息进行解析,识别确定头信息中是否添加有第一预设标识,代理组件通过判断接收到的业务流量处理请求中是否携带有第一预设标识,来识别业务流量处理请求的来源,由此来进行相应的处理。其中,第一预设标识为第一机房的机房标识,第一预设标识表明业务流量处理请求对应的目标服务机房。
若业务流量处理请求中携带有第一预设标识,可以确定该业务流量处理请求是由其他机房的代理组件路由发送而来,跳转执行步骤S204;若业务流量处理请求中未携带第一预设标识,可以确定该业务流量处理请求是从用户处获得,跳转执行步骤S202。
步骤S202,根据代理组件本地缓存的服务路由配置文件,判断与业务流量处理请求匹配的服务对应的服务机房是否为第一机房;若否,则执行步骤S203;若是,则执行步骤S204。
在判断出业务流量处理请求未携带第一预设标识的情况下,还需要进一步判断业务流量处理请求对应的服务机房是否为第一机房,具体地,在代理组件本地缓存有服务路由配置文件,该服务路由配置文件中记载了各个服务对应的服务机房,例如,服务路由配置文件关联存储有服务及对应的服务机房的机房标识,通过查询服务路由配置文件,可以获取到服务路由配置文件中记载的与业务流量处理请求匹配的服务对应的服务机房的机房标识,将服务机房的机房标识与第一机房的机房标识进行匹配,以判断与业务流量处理请求匹配的服务对应的服务机房是否为第一机房。例如,若判断出业务流量处理请求对应的服务机房是第一机房,则需要发送给第一机房的服务端口来处理该请求;若判断出业务流量处理请求对应的服务机房不是第一机房,则需要将请求路由发送给其他机房来处理。
具体地,配置中心负责维护各个服务对应的服务机房,并记录有服务路由配置文件,其中,服务路由配置文件用于记载各个服务对应的服务机房,当某个机房出现故障而问题时导致该机房无法继续提供相应的服务时,为了保证用户能够继续使用相应的服务,就需要由其他机房来提供相应的服务,此时,配置中心会对记录的服务路由配置文件进行更新,配置中心提供有监听机制,代理组件可以基于配置中心提供的监听机制,来监听服务路由配置文件是否发生更新;若代理组件监听到服务路由配置文件发生了更新,则将更新后的服务路由配置文件缓存至代理组件本地,根据代理组件本地缓存的服务路由配置文件,判断与业务流量处理请求匹配的服务对应的服务机房是否为第一机房。
然而,由于不同的代理组件监听到服务路由配置文件发生更新的时间有所不同,而且代理组件将更新后的服务路由配置文件缓存本地也需要时间,这就导致不同代理组件本地缓存的服务路由配置文件也存在短时间的不同,例如,A机房内的A代理组件已经将更新后的服务路由配置文件缓存至本地,而B机房内的B代理组件由于各种原因造成其监听到服务路由配置文件发生更新有一定的延迟性,A代理组件和B代理组件各自缓存的服务路由配置文件有一定时间的不一致。这就导致如果A代理组件判断出与业务流量处理请求匹配的服务对应的服务机房不是A机房的情况下,如果不对业务流量处理请求进行任何处理,而是直接将业务流量处理请求路由发送给B代理组件,那么B代理组件在接收到业务流量处理请求后,通过查询服务路由配置文件(该服务路由配置文件更新存在延时问题),发现不是B机房来提供服务而是由A机房提供服务的情况下,B代理组件就会再次将业务流量处理请求路由发送给A代理组件,导致流量在多机房之间回环。
为了避免流量在多机房之间回环,在判断出与业务流量处理请求匹配的服务对应的服务机房不是第一机房的情况下,需要对业务流量处理请求进行处理,具体处理方法参见步骤S203:
步骤S203,在业务流量处理请求的头信息中添加第二预设标识,将已添加第二预设标识的业务流量处理请求路由发送至第二机房的代理组件。
若机房内的代理组件判断出业务流量处理请求对应的服务机房不是第一机房的情况下,需要将该业务流量处理请求路由发送给其他机房,为了避免流量在多机房中回环,在路由发送请求之前,需要在业务流量处理请求添加第二预设标识,例如,在业务流量处理请求的头信息中添加第二预设标识,其中,第二预设标识为第二机房的机房标识,所添加的第二预设标识表明该流量已经被该机房处理过但没有成功响应,在添加第二预设标识后,将已添加第二预设标识的业务流量处理请求路由发送至第二机房的代理组件,以由第二机房来处理该业务流量处理请求,提供相应的服务。其中,第二机房是待路由机房,是第一机房的第一代理组件本地缓存的服务路由配置文件中所记载的服务对应的服务机房,第二机房的代理组件在接收到路由发送的业务流量处理请求后,将会按照本实施例提供的方法进行处理,这里不再赘述。
步骤S204,将业务流量处理请求发送给第一机房对应的服务端口进行处理。
若机房内的代理组件判断出业务流量处理请求携带有第一预设标识的情况下,可以确定业务流量处理请求只能由第一机房来处理,此时代理组件不会再根据服务路由配置文件来判断业务流量处理请求对应的服务是否为第一机房,也就是说,业务流量处理请求携带有第一预设标识的情况下,即使服务路由配置文件中记录了对应的服务机房是其他机房,代理组件也不会再将业务流量处理请求路由发送给其他机房,而是将业务流量处理请求发送给第一机房对应的服务端口进行处理,由第一机房的服务端口来提供与业务流量处理请求匹配的服务。这样就保证了业务流量处理请求只会被跨机房转发一次,避免了回环问题。
若业务流量处理请求中未携带第一预设标识,但是,业务流量处理请求对应的服务机房是第一机房的情况下,可以确定业务流量处理请求由第一机房来处理,代理组件将业务流量处理请求发送给第一机房对应的服务端口进行处理。每个机房有多个服务端口,每个服务端口用于处理不同的服务,因此,可以将业务流量处理请求发送给第一机房对应的服务端口来处理。
下面结合实例具体说明多机房流量调度实现方案:
该实例涉及A机房与B机房间的流量调度,A代理组件负责调度处理A机房的业务流量处理请求,B代理组件负责调度处理B机房的业务流量处理请求,例如,用户发起了一个获取用户等级信息的业务流量处理请求,该请求被A机房内的A代理组件获取到,A代理组件通过业务匹配,确定该业务流量处理请求匹配到的业务是level业务,A代理组件获取到业务流量处理请求后,通过判断确定业务流量处理请求中未携带A机房标识,则进一步根据服务路由配置文件,判断level业务的服务机房是否为A机房,若通过查询服务路由配置文件确定level业务的服务机房不是A机房而是B机房,那么,A代理组件在业务流量处理请求的头信息中添加X-Zone=B机房标识,然后,将添加了X-Zone=B机房标识的业务流量处理请求路由发送给B机房的B代理组件,B机房的B代理组件接收到业务流量处理请求后,对头信息进行解析,若解析结果为业务流量处理请求中携带B机房标识,则将该业务流量处理请求直接发送给B机房的level服务端口进行处理。
本发明提供的方案,在业务流量处理请求未携带第一预设标识且服务机房不是第一机房的情况下,通过在业务流量处理请求中添加第二预设标识,有效控制了业务流量处理请求被路由的次数,业务流量处理请求仅会被路由一次,避免了由于配置中心更新服务路由配置文件而到不同代理组件本地缓存的服务路由配置文件短时间不一致时而带来的业务流量处理请求在多机房回环的问题。
本发明实施例还提供了一种非易失性计算机存储介质,计算机存储介质存储有至少一可执行指令,该计算机可执行指令可执行上述任意方法实施例中的多机房流量调度方法。
可执行指令具体可以用于使得处理器执行以下操作:
判断接收到的业务流量处理请求中是否携带有第一预设标识;
若未携带第一预设标识,则判断业务流量处理请求对应的服务机房是否为第一机房;
若服务机房不是第一机房,则在业务流量处理请求添加第二预设标识,将已添加第二预设标识的业务流量处理请求路由发送至第二机房的代理组件;
若携带有第一预设标识或服务机房是第一机房,则将业务流量处理请求发送给第一机房对应的服务端口进行处理。
在一种可选的实现方式中,可执行指令进一步使处理器执行以下操作:
根据代理组件本地缓存的服务路由配置文件,判断与业务流量处理请求匹配的服务对应的服务机房是否为第一机房,其中,服务路由配置文件关联存储有服务及对应的服务机房的机房标识。
在一种可选的实现方式中,可执行指令进一步使处理器执行以下操作:
基于配置中心提供的监听机制,监听服务路由配置文件是否发生更新;
若发生更新,则将更新后的服务路由配置文件缓存至代理组件本地;
根据代理组件本地缓存的服务路由配置文件,判断与业务流量处理请求匹配的服务对应的服务机房是否为第一机房。
在一种可选的实现方式中,可执行指令进一步使处理器执行以下操作:
在业务流量处理请求的头信息中添加第二预设标识。
在一种可选的实现方式中,第一预设标识为第一机房的机房标识;第二预设标识为第二机房的机房标识。
在一种可选的实现方式中,代理组件为Nginx服务器。
图3示出了根据本发明一个实施例的计算设备的结构示意图,本发明具体实施例并不对计算设备的具体实现做限定。
如图3所示,该计算设备可以包括:处理器(processor)302、通信接口(Communications Interface)304、存储器(memory)306、以及通信总线308。
其中:处理器302、通信接口304、以及存储器306通过通信总线308完成相互间的通信。
通信接口304,用于与其它设备比如客户端或其它服务器等的网元通信。
处理器302,用于执行程序310,具体可以执行上述多机房流量调度方法实施例中的相关步骤。
具体地,程序310可以包括程序代码,该程序代码包括计算机操作指令。
处理器302可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。计算设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器306,用于存放程序310。存储器306可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序310具体可以用于使得处理器302执行以下操作:
判断接收到的业务流量处理请求中是否携带有第一预设标识;
若未携带第一预设标识,则判断业务流量处理请求对应的服务机房是否为第一机房;
若服务机房不是第一机房,则在业务流量处理请求添加第二预设标识,将已添加第二预设标识的业务流量处理请求路由发送至第二机房的代理组件;
若携带有第一预设标识或服务机房是第一机房,则将业务流量处理请求发送给第一机房对应的服务端口进行处理。
在一种可选的实现方式中,程序310进一步使处理器302执行以下操作:
根据代理组件本地缓存的服务路由配置文件,判断与业务流量处理请求匹配的服务对应的服务机房是否为第一机房,其中,服务路由配置文件关联存储有服务及对应的服务机房的机房标识。
在一种可选的实现方式中,程序310进一步使处理器302执行以下操作:
基于配置中心提供的监听机制,监听服务路由配置文件是否发生更新;
若发生更新,则将更新后的服务路由配置文件缓存至代理组件本地;
根据代理组件本地缓存的服务路由配置文件,判断与业务流量处理请求匹配的服务对应的服务机房是否为第一机房。
在一种可选的实现方式中,程序310进一步使处理器302执行以下操作:
在业务流量处理请求的头信息中添加第二预设标识。
在一种可选的实现方式中,第一预设标识为第一机房的机房标识;第二预设标识为第二机房的机房标识。
在一种可选的实现方式中,代理组件为Nginx服务器。
在此提供的算法或显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明实施例也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明实施例的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。上述实施例中的步骤,除有特殊说明外,不应理解为对执行顺序的限定。
本发明公开了:A1.一种多机房流量调度方法,所述方法由第一机房内的代理组件执行,所述方法包括:
判断接收到的业务流量处理请求中是否携带有第一预设标识;
若未携带第一预设标识,则判断业务流量处理请求对应的服务机房是否为所述第一机房;
若服务机房不是所述第一机房,则在所述业务流量处理请求添加第二预设标识,将已添加第二预设标识的业务流量处理请求路由发送至第二机房的代理组件;
若携带有第一预设标识或服务机房是第一机房,则将业务流量处理请求发送给第一机房对应的服务端口进行处理。
A2.根据A1所述的方法,其中,所述判断业务流量处理请求对应的服务机房是否为所述第一机房进一步包括:
根据代理组件本地缓存的服务路由配置文件,判断与业务流量处理请求匹配的服务对应的服务机房是否为所述第一机房,其中,所述服务路由配置文件关联存储有服务及对应的服务机房的机房标识。
A3.根据A2所述的方法,其中,所述根据代理组件本地缓存的服务路由配置文件,判断与业务流量处理请求匹配的服务对应的服务机房是否为所述第一机房进一步包括:
基于配置中心提供的监听机制,监听服务路由配置文件是否发生更新;
若发生更新,则将更新后的服务路由配置文件缓存至代理组件本地;
根据代理组件本地缓存的服务路由配置文件,判断与业务流量处理请求匹配的服务对应的服务机房是否为所述第一机房。
A4.根据A1-A3中任一项所述的方法,其中,在所述业务流量处理请求添加第二预设标识进一步包括:
在所述业务流量处理请求的头信息中添加第二预设标识。
A5.根据A1-A4中任一项所述的方法,其中,所述第一预设标识为第一机房的机房标识;所述第二预设标识为第二机房的机房标识。
A6.根据A1-A5中任一项所述的方法,其中,所述代理组件为Nginx服务器。
B7.一种计算设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令执行于第一机房内的代理组件,使所述处理器执行以下操作:
判断接收到的业务流量处理请求中是否携带有第一预设标识;
若未携带第一预设标识,则判断业务流量处理请求对应的服务机房是否为所述第一机房;
若服务机房不是所述第一机房,则在所述业务流量处理请求添加第二预设标识,将已添加第二预设标识的业务流量处理请求路由发送至第二机房的代理组件;
若携带有第一预设标识或服务机房是所述第一机房,则将业务流量处理请求发送给所述第一机房对应的服务端口进行处理。
B8.根据B7所述的计算设备,其中,所述可执行指令进一步使所述处理器执行以下操作:
根据代理组件本地缓存的服务路由配置文件,判断与业务流量处理请求匹配的服务对应的服务机房是否为所述第一机房,其中,所述服务路由配置文件关联存储有服务及对应的服务机房的机房标识。
B9.根据B8所述的计算设备,其中,所述可执行指令进一步使所述处理器执行以下操作:
基于配置中心提供的监听机制,监听服务路由配置文件是否发生更新;
若发生更新,则将更新后的服务路由配置文件缓存至代理组件本地;
根据代理组件本地缓存的服务路由配置文件,判断与业务流量处理请求匹配的服务对应的服务机房是否为所述第一机房。
B10.根据B7-B9中任一项所述的计算设备,其中,所述可执行指令进一步使所述处理器执行以下操作:
在所述业务流量处理请求的头信息中添加第二预设标识。
B11.根据B7-B10中任一项所述的计算设备,其中,所述第一预设标识为第一机房的机房标识;所述第二预设标识为第二机房的机房标识。
B12.根据B7-B11中任一项所述的计算设备,其中,所述代理组件为Nginx服务器。
C13.一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如A1-A6中任一项所述的多机房流量调度方法对应的操作。

Claims (10)

1.一种多机房流量调度方法,所述方法由第一机房内的代理组件执行,所述方法包括:
判断接收到的业务流量处理请求中是否携带有第一预设标识;
若未携带第一预设标识,则判断业务流量处理请求对应的服务机房是否为所述第一机房;
若服务机房不是所述第一机房,则在所述业务流量处理请求添加第二预设标识,将已添加第二预设标识的业务流量处理请求路由发送至第二机房的代理组件;
若携带有第一预设标识或服务机房是第一机房,则将业务流量处理请求发送给第一机房对应的服务端口进行处理。
2.根据权利要求1所述的方法,其中,所述判断业务流量处理请求对应的服务机房是否为所述第一机房进一步包括:
根据代理组件本地缓存的服务路由配置文件,判断与业务流量处理请求匹配的服务对应的服务机房是否为所述第一机房,其中,所述服务路由配置文件关联存储有服务及对应的服务机房的机房标识。
3.根据权利要求2所述的方法,其中,所述根据代理组件本地缓存的服务路由配置文件,判断与业务流量处理请求匹配的服务对应的服务机房是否为所述第一机房进一步包括:
基于配置中心提供的监听机制,监听服务路由配置文件是否发生更新;
若发生更新,则将更新后的服务路由配置文件缓存至代理组件本地;
根据代理组件本地缓存的服务路由配置文件,判断与业务流量处理请求匹配的服务对应的服务机房是否为所述第一机房。
4.根据权利要求1-3中任一项所述的方法,其中,在所述业务流量处理请求添加第二预设标识进一步包括:
在所述业务流量处理请求的头信息中添加第二预设标识。
5.根据权利要求1-4中任一项所述的方法,其中,所述第一预设标识为第一机房的机房标识;所述第二预设标识为第二机房的机房标识。
6.根据权利要求1-5中任一项所述的方法,其中,所述代理组件为Nginx服务器。
7.一种计算设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令执行于第一机房内的代理组件,使所述处理器执行以下操作:
判断接收到的业务流量处理请求中是否携带有第一预设标识;
若未携带第一预设标识,则判断业务流量处理请求对应的服务机房是否为所述第一机房;
若服务机房不是所述第一机房,则在所述业务流量处理请求添加第二预设标识,将已添加第二预设标识的业务流量处理请求路由发送至第二机房的代理组件;
若携带有第一预设标识或服务机房是所述第一机房,则将业务流量处理请求发送给所述第一机房对应的服务端口进行处理。
8.根据权利要求7所述的计算设备,其中,所述可执行指令进一步使所述处理器执行以下操作:
根据代理组件本地缓存的服务路由配置文件,判断与业务流量处理请求匹配的服务对应的服务机房是否为所述第一机房,其中,所述服务路由配置文件关联存储有服务及对应的服务机房的机房标识。
9.根据权利要求8所述的计算设备,其中,所述可执行指令进一步使所述处理器执行以下操作:
基于配置中心提供的监听机制,监听服务路由配置文件是否发生更新;
若发生更新,则将更新后的服务路由配置文件缓存至代理组件本地;
根据代理组件本地缓存的服务路由配置文件,判断与业务流量处理请求匹配的服务对应的服务机房是否为所述第一机房。
10.一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如权利要求1-6中任一项所述的多机房流量调度方法对应的操作。
CN202110851605.1A 2021-07-27 2021-07-27 多机房流量调度方法、计算设备及计算机存储介质 Pending CN113518038A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110851605.1A CN113518038A (zh) 2021-07-27 2021-07-27 多机房流量调度方法、计算设备及计算机存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110851605.1A CN113518038A (zh) 2021-07-27 2021-07-27 多机房流量调度方法、计算设备及计算机存储介质

Publications (1)

Publication Number Publication Date
CN113518038A true CN113518038A (zh) 2021-10-19

Family

ID=78067842

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110851605.1A Pending CN113518038A (zh) 2021-07-27 2021-07-27 多机房流量调度方法、计算设备及计算机存储介质

Country Status (1)

Country Link
CN (1) CN113518038A (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107612955A (zh) * 2016-07-12 2018-01-19 深圳市远行科技股份有限公司 微服务提供方法、装置及系统
US20190028496A1 (en) * 2017-07-19 2019-01-24 Cisco Technology, Inc. Anomaly detection for micro-service communications
CN112052091A (zh) * 2020-09-04 2020-12-08 掌阅科技股份有限公司 多机房部署下服务调用请求的处理方法及计算设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107612955A (zh) * 2016-07-12 2018-01-19 深圳市远行科技股份有限公司 微服务提供方法、装置及系统
US20190028496A1 (en) * 2017-07-19 2019-01-24 Cisco Technology, Inc. Anomaly detection for micro-service communications
CN112052091A (zh) * 2020-09-04 2020-12-08 掌阅科技股份有限公司 多机房部署下服务调用请求的处理方法及计算设备

Similar Documents

Publication Publication Date Title
CN110365748B (zh) 业务数据的处理方法和装置、存储介质及电子装置
US11432137B2 (en) Service notification method for mobile edge host and apparatus
CN108494755B (zh) 一种传输应用程序编程接口api请求的方法及装置
JPH04227145A (ja) セッション確立開始方法およびシステム
WO2007073429A2 (en) Distributed and replicated sessions on computing grids
CN112039710B (zh) 服务故障处理方法、终端设备及可读存储介质
US20170187578A1 (en) System and method for acquiring, processing and updating global information
JP2019506764A (ja) グローバル情報を取得、処理および更新するためのシステムおよび方法
CN110633175A (zh) 基于微服务的多机房数据处理方法、电子设备及存储介质
CN111327651A (zh) 资源下载方法、装置、边缘节点及存储介质
CN110968478A (zh) 日志采集方法、服务器及计算机存储介质
CN111147583A (zh) 一种http重定向重写方法及装置
CN111628878A (zh) 基于多级网络节点的故障定位方法、装置及系统
CN112015595B (zh) 主从数据库的切换方法、计算设备及存储介质
CN113938461B (zh) 域名缓存解析查询方法、装置、设备及存储介质
CN112751724B (zh) 检测链路状态的方法及装置
US8036105B2 (en) Monitoring a problem condition in a communications system
CN111917870A (zh) 请求处理方法、系统、装置、电子设备及存储介质
CN113518038A (zh) 多机房流量调度方法、计算设备及计算机存储介质
CN111367921A (zh) 数据对象的刷新方法及装置
US20090240836A1 (en) Support apparatus, design support method, and design support program
CN113542319A (zh) 用于Dubbo框架中的服务提供实体变更通知方法、装置及系统
CN110769020B (zh) 一种资源请求处理方法、装置、设备及系统
CN112052091A (zh) 多机房部署下服务调用请求的处理方法及计算设备
CN112783673A (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