CN112052091A - 多机房部署下服务调用请求的处理方法及计算设备 - Google Patents

多机房部署下服务调用请求的处理方法及计算设备 Download PDF

Info

Publication number
CN112052091A
CN112052091A CN202010922705.4A CN202010922705A CN112052091A CN 112052091 A CN112052091 A CN 112052091A CN 202010922705 A CN202010922705 A CN 202010922705A CN 112052091 A CN112052091 A CN 112052091A
Authority
CN
China
Prior art keywords
service
machine room
calling request
room
configuration information
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
CN202010922705.4A
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
Original Assignee
Ireader 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 Ireader Technology Co Ltd filed Critical Ireader Technology Co Ltd
Priority to CN202010922705.4A priority Critical patent/CN112052091A/zh
Publication of CN112052091A publication Critical patent/CN112052091A/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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Hardware Redundancy (AREA)

Abstract

本发明公开了一种多机房部署下服务调用请求的处理方法及计算设备,方法应用于本机房的服务代理,方法包括:接收经过路由匹配至本机房的服务调用请求;判断服务调用请求是否包含头部标签信息;若服务调用请求不包含头部标签信息,根据服务配置信息确定目标机房,服务配置信息表征用于处理服务调用请求的目标服务位于目标机房;若目标机房不为本机房,在服务调用请求中添加头部标签信息,将已添加头部标签信息的服务调用请求转发给目标机房的服务代理,以供目标机房的服务代理将已添加头部标签信息的服务调用请求转发给目标机房进行处理。通过上述方式,能够避免多机房部署下服务配置信息变更不同步导致的服务出错问题。

Description

多机房部署下服务调用请求的处理方法及计算设备
技术领域
本发明涉及计算机技术领域,具体涉及一种多机房部署下服务调用请求的处理方法及计算设备。
背景技术
随着互联网发展,为了提供更可靠的网络服务,越来越多的互联网应用提供商都摈弃了传统的单体式机房的架构,改为采用多机房的架构部署,一个应用可能有多个项目,而每一个项目下又有多个服务。
实际应用中,项目或者服务都有可能出现故障,包括硬件故障、依赖的资源故障、底层存储故障、网络故障等等,都会导致服务不可用。现有技术中,当机房的某个服务出现故障时,需要将该机房中关于这个服务的配置信息全部进行修改,以使修改之后该服务能够在其他机房正常提供服务,也就是将服务进行迁移。
但是,发明人在实现本发明的过程中发现:由于多机房部署下各机构同步服务配置服务信息的变更时间往往是不相同的,各机构同一时刻的服务配置信息并不一致,会导致服务出错。例如,通过对机房A内服务A的配置信息进行修改,将服务A迁移到机房B内,路由匹配机构此时没有同步到最新的服务配置信息,路由匹配机构根据旧的服务配置信息匹配到用于处理服务调用请求的服务A位于机房A,则直接将服务调用请求路由匹配到机房A,而由于服务A已经被迁移到了机房B,因此,机房A无法对服务调用请求进行处理,从而导致服务出错。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的多机房部署下服务调用请求的处理方法及计算设备。
根据本发明的一个方面,提供了一种多机房部署下服务调用请求的处理方法,方法应用于本机房的服务代理,包括:
接收经过路由匹配至本机房的服务调用请求;
判断服务调用请求是否包含头部标签信息;
若服务调用请求不包含头部标签信息,根据服务配置信息确定目标机房,其中,服务配置信息表征用于处理服务调用请求的目标服务位于目标机房;
若目标机房不为本机房,在服务调用请求中添加头部标签信息,将已添加头部标签信息的服务调用请求转发给目标机房的服务代理,以供目标机房的服务代理将已添加头部标签信息的服务调用请求转发给目标机房进行处理。
根据本发明的又一方面,提供了一种计算设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行以下操作:
接收经过路由匹配至本机房的服务调用请求;
判断服务调用请求是否包含头部标签信息;
若服务调用请求不包含头部标签信息,根据服务配置信息确定目标机房,其中,服务配置信息表征用于处理服务调用请求的目标服务位于目标机房;
若目标机房不为本机房,在服务调用请求中添加头部标签信息,将已添加头部标签信息的服务调用请求转发给目标机房的服务代理,以供目标机房的服务代理将已添加头部标签信息的服务调用请求转发给目标机房进行处理。
根据本发明的再一方面,提供了一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行以下操作:
接收经过路由匹配至本机房的服务调用请求;
判断服务调用请求是否包含头部标签信息;
若服务调用请求不包含头部标签信息,根据服务配置信息确定目标机房,其中,服务配置信息表征用于处理服务调用请求的目标服务位于目标机房;
若目标机房不为本机房,在服务调用请求中添加头部标签信息,将已添加头部标签信息的服务调用请求转发给目标机房的服务代理,以供目标机房的服务代理将已添加头部标签信息的服务调用请求转发给目标机房进行处理。
根据本发明的多机房部署下服务调用请求的处理方法及计算设备,该方法应用于本机房的服务代理,接收经过路由匹配至本机房的服务调用请求;判断服务调用请求是否包含头部标签信息;若服务调用请求不包含头部标签信息,根据服务配置信息确定目标机房,其中,服务配置信息表征用于处理服务调用请求的目标服务位于目标机房;若目标机房不为本机房,在服务调用请求中添加头部标签信息,将已添加头部标签信息的服务调用请求转发给目标机房的服务代理,以供目标机房的服务代理将已添加头部标签信息的服务调用请求转发给目标机房进行处理。通过上述方式,一方面,通过确定用于处理服务调用请求的目标服务真正所在的目标机房,精准地将服务调用请求转发至目标机房进行处理,提升了服务调用请求的处理效率和准确率,也避免了路由匹配使用的服务配置信息和机房的服务代理内的服务配置信息变更不同步造成的服务出错问题;另一方面,通过将已添加头部标签信息的服务调用请求转发给目标机房,目标机房直接对已添加头部标签信息的服务调用请求进行处理,也能够避免由于各机房的服务代理之间服务配置信息变更不同步导致的转发死循环问题。总而言之,上述方式能够避免多机房部署下各个机构之间服务配置信息变更不同步导致的服务出错问题。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例提供的多机房部署下服务调用请求的处理方法的流程图;
图2示出了本发明另一实施例提供的多机房部署下服务调用请求的处理方法的流程图;
图3示出了本发明实施例提供的多机房部署的架构图;
图4示出了本发明实施例提供的计算设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
图1示出了本发明实施例提供的多机房部署下服务调用请求的处理方法的流程图,该方法应用于本机房的服务代理。如图1所示,该方法包括以下步骤:
步骤S110,接收经过路由匹配至本机房的服务调用请求。
本实施例中,不论是来自于客户端的服务调用请求还是服务之间的相互调用请求,都会在达到真正的服务之前,首先到达服务对应的代理。实际应用中,调用机房服务的可能是客户端或者其他服务,也即,本机房的服务代理接收到的服务调用请求可能是来自于客户端的,也有可能是来自于其他服务的。
可选地,路由匹配处理机构将服务调用请求路由匹配到本机房。路由匹配处理机构在接收到服务调用请求之后,根据其获取到的服务配置信息进行路由匹配,目的是为了确定用于处理服务调用请求的服务和机房,之后,将服务调用请求路由匹配至相应的机房。
步骤S120,判断服务调用请求是否包含头部标签信息。
其中,头部标签信息是一种标识信息,如果一个服务代理接收的服务调用请求包含头部标签信息,则标识该服务调用请求是由其他服务代理转发而来的,而不是直接针对于该服务代理对应机房的。当然,本发明对头部标签信息的形式不做具体限定。
步骤S130,若服务调用请求不包含头部标签信息,根据服务配置信息确定目标机房,服务配置信息表征用于处理服务调用请求的目标服务位于目标机房。
如果服务调用请求不包含头部标签信息,本机房的服务代理查询其获取到的服务配置信息,确定用于处理该服务调用请求的服务位于哪个机房,即得到用于处理该服务调用请求的目标服务所在的目标机房。
步骤S140,若目标机房不为本机房,在服务调用请求中添加头部标签信息,将已添加头部标签信息的服务调用请求转发给目标机房的服务代理,以供目标机房的服务代理将已添加头部标签信息的服务调用请求转发给目标机房进行处理。
其中,如果路由匹配使用的服务配置信息与本机房的服务代理使用的服务配置信息一致,则目标机房就是本机房。而如果路由匹配使用的服务配置信息与本机房的服务代理使用的服务配置信息的变更不同步,造成路由匹配使用的服务配置信息与本机房的服务代理使用的服务配置信息不一致,则目标机房就不是本机房。
在确定了用于处理该服务调用请求的目标机房之后,判断目标机房是不是本机房,如果目标机房不是本机房,则说明该服务调用请求不是由本机房中的服务进行处理,需要将该服务调用请求转发至目标机房进行处理,本实施例中,在服务调用请求中添加头部标签信息,之后将已添加头部标签信息的服务调用请求转发给目标机房的服务代理。通过这种方式,精准地将服务调用请求转发至目标机房进行处理,提升了服务调用请求的处理效率和准确率,避免了路由匹配使用的服务配置信息和机房的服务代理内的服务配置信息变更不同步造成的服务出错问题。
通常情况下,多机房部署下各个机房同步配置的变更时间也是不一致的,需要等待一段时间之后,各个机房存储的服务配置信息才会更新为一致,在各个机房存储的服务配置信息不一致的这个时间段内,存在转发死循环的问题。举例来说,机房A中服务代理A同步了最新的服务配置信息,最新的服务配置信息表征用于处理服务调用请求的服务位于机房B,服务代理A将服务调用请求转发给机房B中服务代理B,而服务代理B此时还未更新到最新的配置信息,该服务代理B接收到服务代理A转发的服务调用请求之后,其存储的旧的服务配置信息指示该服务调用请求还是应该机房A处理,服务代理B会再将服务调用请求转发至服务代理A,从而造成了转发死循环,导致服务出错。
基于此,本实施例在进行转发之前,为了避免各个的服务代理之间服务配置信息的更新不同步导致的转发死循环问题,在服务调用请求中添加头部标签信息,将已添加头部标签信息的服务调用请求转发给目标机房的服务代理,目标机房的服务代理直接将已添加头部标签信息的服务调用请求转发给目标机房进行处理,也即,如果一个机房的服务代理接收到已添加头部标签信息的服务调用请求,则直接转发到相应的机房进行处理,而不再转发到其他机房的服务代理,从而打破了转发死循环。
根据本实施例提供的多机房部署下服务调用请求的处理方法,该方法应用于本机房的服务代理,本机房的服务代理确定用于处理服务调用请求的目标服务到底在哪个机房提供服务,确定目标服务所在的目标机房,如果目标服务不在本机房提供服务,就将服务调用请求添加头部信息标签,之后将已添加头部标签信息的服务调用请求转发给目标机房的服务代理,以便目标机房中的目标服务对服务调用请求进行处理。通过上述方式,一方面,通过确定用于处理服务调用请求的目标服务真正所在的目标机房,精准地将服务调用请求转发至目标机房进行处理,提升了服务调用请求的处理效率和准确率,也避免了路由匹配使用的服务配置信息和机房的服务代理内的服务配置信息变更不同步造成的服务出错问题;另一方面,通过将已添加头部标签信息的服务调用请求转发给目标机房,目标机房直接对已添加头部标签信息的服务调用请求进行处理,也能够避免由于各机房的服务代理之间服务配置信息变更不同步导致的转发死循环问题。总而言之,上述方式能够避免多机房部署下各个机构之间服务配置信息更新不同步导致的服务出错问题。
图2示出了本发明另一实施例提供的多机房部署下服务调用请求的处理方法的流程图,该方法应用于本机房的服务代理,服务代理可以是NGX的形式,本发明对此不做限定,如图2所示,该方法包括以下步骤:
步骤S210,接收经过路由匹配至本机房的服务调用请求。
其中,路由匹配处理机构在接收到服务调用请求之后,根据其获取到的服务配置信息进行路由匹配,目的是为了确定用于处理服务调用请求的服务和机房,之后,将服务调用请求路由匹配至相应的机房,机房的服务代理接收服务调用请求。
步骤S220,判断服务调用请求是否包含头部标签信息;若是,则执行步骤S230;若否,则执行步骤S240。
其中,头部标签信息是一种标识信息,如果一个服务代理接收的服务调用请求包含头部标签信息,则标识该服务调用请求是由其他服务代理转发而来的,而不是直接针对于该服务代理对应机房的。当然,本发明对头部标签信息的形式不做具体限定。
步骤S230,将服务调用请求发送给本机房进行处理。
如果本机房的服务代理判断出服务调用请求中包含头部标签信息,表明该服务调用请求是其他服务代理转发来的,直接将服务调用请求发送给本机房进行处理,不再作进一步地判断。
步骤S240,根据服务配置信息确定目标机房,服务配置信息表征用于处理服务调用请求的目标服务位于目标机房。
如果本机房的服务代理判断出服务调用请求不包含头部标签信息,则根据服务配置信息确定目标机房,其中,用于处理服务调用请求的目标服务位于该目标机房。
可选地,多机房部署下还具有用于存储所有项目的服务配置信息的配置中心,配置中心中存储的服务配置信息实时更新,各个机房具有存储功能机构,用于存储从配置中心同步的服务配置信息,机房的存储功能机构又会向机房下的所有服务器同步服务配置信息。例如,机房的存储功能机构可以是zk集群,机房的服务代理从zk集群中同步服务配置信息。
进一步可选地,本机房的服务代理按照预定周期定时检测本机房存储的服务配置信息是否发生更新;若是,获取更新的服务配置信息缓存到本地。该方式中,服务代理开辟一个定时检测任务,定时将服务配置信息缓存到本地,服务代理需要使用的时候直接从本地缓存中获取即可,而不是每一次接收到请求时再去zk集群获取全部的服务配置信息。例如,定时检测zk集群中的服务配置信息是否发生更新,如果是,则将更新的服务配置信息缓存到本地,通过定时获取服务配置信息,提升同步服务配置信息的及时性,通过将服务配置信息缓存到本地,能够提升处理性能。
步骤S250,判断目标机房是否为本机房;若是,执行步骤S260;若否,执行步骤S270。
在确定了目标机房之后,判断目标机房是否为本机房。例如,底层实现时可用zone来标识机房,路由匹配使用服务配置信息未变更到最新,旧的服务配置信息指示用于处理服务调用请求的服务A具有的zone为A,表示服务A位于机房A,则将服务调用请求匹配路由到机房A,机房A就是本机房。机房A的服务代理此时已更新到最新的服务配置信息,最新的服务配置信息指示服务A具有的zone为B,表示服务A位于机房B,机房B就是目标机房,通过比较本机房zone和目标机房zone,即可确定目标机房是否为本机房,该示例中目标机房不是本机房。
步骤S260,将服务调用请求发送给本机房进行处理。
如果判断出目标机房就是本机房,表明用于处理该服务调用请求的目标服务在本机房提供服务,由本机房处理该服务调用请求,则直接将服务调用请求转发给本机房进行处理。
步骤S270,在服务调用请求中添加头部标签信息,利用本机房与目标机房之间的专有线路,将已添加头部标签信息的服务调用请求转发给目标机房的服务代理,以供目标机房的服务代理将已添加头部标签信息的服务调用请求转发给目标机房进行处理。
如果判断出目标机房不是本机房,表明用于处理该服务调用请求的目标服务不在本机房提供服务,本机房无法处理该服务调用请求,则在服务调用请求中添加头部标签信息,并通过本机房与目标机房之间的专有路线,将已添加头部标签信息的服务调用请求转发给目标机房的服务代理,目标机房的服务代理接收到已添加头部标签信息的服务调用请求,直接发送给目标机房进行处理。
一种可选的方式中,当服务管理平台检测到任一机房的任一服务发生故障或迁移时,修改该服务的服务配置信息,以将该服务修改为在与修改后的服务配置信息相对应的机房提供服务,并将该服务的修改后的服务配置信息同步给机房。
其中,服务管理平台用于对各个项目的服务进行统一管理,当检测到任一服务发生了故障或者发生了迁移,就修改该服务的配置信息,将该服务修改为在其他的机房提供服务,同时还需将服务配置信息的变更同步给各个机房。例如,一开始服务A在机房A内提供服务,在某一时刻服务A发生故障,则将服务A的配置进行修改,配置修改之后服务A在机房B提供服务,将这样的配置修改同步给各个机房。
图3示出了本发明实施例提供的多机房部署的架构图,以机房A为例进行说明,机房具有外网NGX、zk集群、内网NGX以及业务APP,其中外网NGX带有外网IP,用于对外提供服务,服务调用请求都会经过外网NGX;zk集群用于存储所有服务所有项目的配置信息,会将服务配置信息同步给机房A的所有服务器;内网NGX也就是服务代理,用于执行上述实施例中的应用于机房的服务代理的方法,从zk集群中获取服务配置信息进行缓存。当机房A接收到服务调用请求时,如果通过服务配置信息确定用于处理该服务调用请求的服务对应的zone为A(表明用于处理该服务调用请求的服务位于机房A),则将服务调用请求发送给机房A内的业务APP进行处理;如果通过服务配置信息确定出用于处理该服务调用请求的服务对应的zone为B,表明用于处理该服务调用请求的服务位于机房B,则将服务调用请转发给至机房B处理。
根据本实施例所提供的多机房部署下服务调用请求的处理方法,该方法应用于本机房的服务代理,接收路由匹配到本机房的服务调用请求,判断服务调用请求是否包含头部标签信息;如果包含,将服务调用请求直接发送给本机房进行处理;如果不包含,进一步根据服务配置信息确定目标机房,并判断目标机房是否就是本机房;如果目标机房是本机房,就将服务调用请求发送给本机房进行处理;如果目标机房不是本机房,就将服务调用请求添加上头部标签信息,并转发给目标机房的服务代理,以供目标机房的服务代理对已添加头部标签信息的服务调用请求进行处理。通过上述方式,一方面,通过确定用于处理服务调用请求的目标服务真正所在的目标机房,精准地将服务调用请求转发至目标机房进行处理,提升了服务调用请求的处理效率和准确率,也避免了路由匹配使用的服务配置信息和机房的服务代理内的服务配置信息变更不同步造成的服务出错问题;另一方面,通过将已添加头部标签信息的服务调用请求转发给目标机房,目标机房直接对已添加头部标签信息的服务调用请求进行处理,也能够避免由于各机房的服务代理之间服务配置信息变更不同步导致的转发死循环问题。总而言之,上述方式能够避免多机房部署下各个机构之间服务配置信息更新不同步导致的服务出错问题。
本发明实施例提供了一种非易失性计算机存储介质,所述计算机存储介质存储有至少一可执行指令,该计算机可执行指令可执行上述任意方法实施例中的多机房部署下服务调用请求的处理方法。
可执行指令具体可以用于使得处理器执行以下操作:
接收经过路由匹配至本机房的服务调用请求;
判断服务调用请求是否包含头部标签信息;
若服务调用请求不包含头部标签信息,根据服务配置信息确定目标机房,其中,服务配置信息表征用于处理服务调用请求的目标服务位于目标机房;
若目标机房不为本机房,在服务调用请求中添加头部标签信息,将已添加头部标签信息的服务调用请求转发给目标机房的服务代理,以供目标机房的服务代理将已添加头部标签信息的服务调用请求转发给目标机房进行处理。
在一种可选的方式中,所述可执行指令使所述处理器执行以下操作:
若服务调用请求包含头部标签信息,将服务调用请求发送给本机房进行处理。
在一种可选的方式中,所述可执行指令使所述处理器执行以下操作:
若目标机房为本机房,将服务调用请求发送给本机房进行处理。
在一种可选的方式中,所述可执行指令使所述处理器执行以下操作:
利用本机房与目标机房之间的专有线路,将已添加头部标签信息的服务调用请求转发给目标机房的服务代理。
在一种可选的方式中,当服务管理平台检测到任一机房的任一服务发生故障或迁移时,修改该服务的服务配置信息,以将该服务修改为在与修改后的服务配置信息相对应的机房提供服务,并将该服务的修改后的服务配置信息同步给机房。
在一种可选的方式中,所述可执行指令使所述处理器执行以下操作:
按照预定周期定时检测本机房存储的服务配置信息是否发生更新;
若是,获取更新的服务配置信息缓存到本地。
通过上述方式,一方面,通过确定用于处理服务调用请求的目标服务真正所在的目标机房,精准地将服务调用请求转发至目标机房进行处理,提升了服务调用请求的处理效率和准确率,也避免了路由匹配使用的服务配置信息和机房的服务代理内的服务配置信息变更不同步造成的服务出错问题;另一方面,通过将已添加头部标签信息的服务调用请求转发给目标机房,目标机房直接对已添加头部标签信息的服务调用请求进行处理,也能够避免由于各机房的服务代理之间服务配置信息变更不同步导致的转发死循环问题。总而言之,上述方式能够避免多机房部署下各个机构之间服务配置信息更新不同步导致的服务出错问题。
图4示出了本发明计算设备实施例的结构示意图,本发明具体实施例并不对计算设备的具体实现做限定。
如图4所示,该计算设备可以包括:处理器(processor)402、通信接口(Communications Interface)404、存储器(memory)406、以及通信总线408。
其中:处理器402、通信接口404、以及存储器406通过通信总线408完成相互间的通信。通信接口404,用于与其它设备比如客户端或其它服务器等的网元通信。处理器402,用于执行程序410,具体可以执行上述用于计算设备的多机房部署下服务调用请求的处理方法实施例中的相关步骤。
具体地,程序410可以包括程序代码,该程序代码包括计算机操作指令。
处理器402可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。计算设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器406,用于存放程序410。存储器406可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序410具体可以用于使得处理器402执行以下操作:
接收经过路由匹配至本机房的服务调用请求;
判断服务调用请求是否包含头部标签信息;
若服务调用请求不包含头部标签信息,根据服务配置信息确定目标机房,其中,服务配置信息表征用于处理服务调用请求的目标服务位于目标机房;
若目标机房不为本机房,在服务调用请求中添加头部标签信息,将已添加头部标签信息的服务调用请求转发给目标机房的服务代理,以供目标机房的服务代理将已添加头部标签信息的服务调用请求转发给目标机房进行处理。
在一种可选的方式中,所述程序410使所述处理器401执行以下操作:
若服务调用请求包含头部标签信息,将服务调用请求发送给本机房进行处理。
在一种可选的方式中,所述程序410使所述处理器401执行以下操作:
若目标机房为本机房,将服务调用请求发送给本机房进行处理。
在一种可选的方式中,所述程序410使所述处理器401执行以下操作:
利用本机房与目标机房之间的专有线路,将已添加头部标签信息的服务调用请求转发给目标机房的服务代理。
在一种可选的方式中,当服务管理平台检测到任一机房的任一服务发生故障或迁移时,修改该服务的服务配置信息,以将该服务修改为在与修改后的服务配置信息相对应的机房提供服务,并将该服务的修改后的服务配置信息同步给机房。
在一种可选的方式中,所述程序410使所述处理器401执行以下操作:
按照预定周期定时检测本机房存储的服务配置信息是否发生更新;
若是,获取更新的服务配置信息缓存到本地。
通过上述方式,一方面,通过确定用于处理服务调用请求的目标服务真正所在的目标机房,精准地将服务调用请求转发至目标机房进行处理,提升了服务调用请求的处理效率和准确率,也避免了路由匹配使用的服务配置信息和机房的服务代理内的服务配置信息变更不同步造成的服务出错问题;另一方面,通过将已添加头部标签信息的服务调用请求转发给目标机房,目标机房直接对已添加头部标签信息的服务调用请求进行处理,也能够避免由于各机房的服务代理之间服务配置信息变更不同步导致的转发死循环问题。总而言之,上述方式能够避免多机房部署下各个机构之间服务配置信息更新不同步导致的服务出错问题。
在此提供的算法或显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明实施例也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明实施例的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。上述实施例中的步骤,除有特殊说明外,不应理解为对执行顺序的限定。

Claims (8)

1.一种多机房部署下服务调用请求的处理方法,所述方法应用于本机房的服务代理,包括:
接收经过路由匹配至本机房的服务调用请求;
判断所述服务调用请求是否包含头部标签信息;
若所述服务调用请求不包含头部标签信息,根据服务配置信息确定目标机房,其中,所述服务配置信息表征用于处理所述服务调用请求的目标服务位于所述目标机房;
若所述目标机房不为本机房,在所述服务调用请求中添加所述头部标签信息,将已添加头部标签信息的服务调用请求转发给所述目标机房的服务代理,以供所述目标机房的服务代理将所述已添加头部标签信息的服务调用请求转发给目标机房进行处理。
2.根据权利要求1所述的方法,其中,所述方法进一步包括:
若所述服务调用请求包含头部标签信息,将所述服务调用请求发送给本机房进行处理。
3.根据权利要求1或2所述的方法,其中,所述方法进一步包括:
若目标机房为本机房,将所述服务调用请求发送给本机房进行处理。
4.根据权利要求1所述的方法,其中,所述将已添加头部标签信息的服务调用请求转发给所述目标机房的服务代理进一步包括:
利用本机房与目标机房之间的专有线路,将已添加头部标签信息的服务调用请求转发给所述目标机房的服务代理。
5.根据权利要求1-4中任一项所述的方法,其中,所述方法进一步包括:
当服务管理平台检测到任一机房的任一服务发生故障或迁移时,修改该服务的服务配置信息,以将该服务修改为在与修改后的服务配置信息相对应的机房提供服务,并将该服务的修改后的服务配置信息同步给机房。
6.根据权利要求1-5中任一项所述的方法,其中,所述方法进一步包括:
按照预定周期定时检测本机房存储的服务配置信息是否发生更新;
若是,获取更新的服务配置信息缓存到本地。
7.一种计算设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1-6中任一项所述的多机房部署下服务调用请求的处理方法对应的操作。
8.一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如权利要求1-6中任一项所述的多机房部署下服务调用请求的处理方法对应的操作。
CN202010922705.4A 2020-09-04 2020-09-04 多机房部署下服务调用请求的处理方法及计算设备 Pending CN112052091A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010922705.4A CN112052091A (zh) 2020-09-04 2020-09-04 多机房部署下服务调用请求的处理方法及计算设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010922705.4A CN112052091A (zh) 2020-09-04 2020-09-04 多机房部署下服务调用请求的处理方法及计算设备

Publications (1)

Publication Number Publication Date
CN112052091A true CN112052091A (zh) 2020-12-08

Family

ID=73607016

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010922705.4A Pending CN112052091A (zh) 2020-09-04 2020-09-04 多机房部署下服务调用请求的处理方法及计算设备

Country Status (1)

Country Link
CN (1) CN112052091A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113518038A (zh) * 2021-07-27 2021-10-19 掌阅科技股份有限公司 多机房流量调度方法、计算设备及计算机存储介质
CN115396482A (zh) * 2022-08-15 2022-11-25 焦点科技股份有限公司 一种跨机房单点服务调用方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106571935A (zh) * 2015-10-08 2017-04-19 阿里巴巴集团控股有限公司 一种资源调度的方法与设备
CN107465767A (zh) * 2017-09-29 2017-12-12 网宿科技股份有限公司 一种数据同步的方法和系统
CN108566432A (zh) * 2018-04-26 2018-09-21 Oppo广东移动通信有限公司 PaaS平台的应用部署方法、装置、服务器及存储介质
CN110213365A (zh) * 2019-05-30 2019-09-06 掌阅科技股份有限公司 基于用户分区的用户访问请求处理方法及电子设备
CN110633175A (zh) * 2019-09-27 2019-12-31 掌阅科技股份有限公司 基于微服务的多机房数据处理方法、电子设备及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106571935A (zh) * 2015-10-08 2017-04-19 阿里巴巴集团控股有限公司 一种资源调度的方法与设备
CN107465767A (zh) * 2017-09-29 2017-12-12 网宿科技股份有限公司 一种数据同步的方法和系统
CN108566432A (zh) * 2018-04-26 2018-09-21 Oppo广东移动通信有限公司 PaaS平台的应用部署方法、装置、服务器及存储介质
CN110213365A (zh) * 2019-05-30 2019-09-06 掌阅科技股份有限公司 基于用户分区的用户访问请求处理方法及电子设备
CN110633175A (zh) * 2019-09-27 2019-12-31 掌阅科技股份有限公司 基于微服务的多机房数据处理方法、电子设备及存储介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113518038A (zh) * 2021-07-27 2021-10-19 掌阅科技股份有限公司 多机房流量调度方法、计算设备及计算机存储介质
CN115396482A (zh) * 2022-08-15 2022-11-25 焦点科技股份有限公司 一种跨机房单点服务调用方法
CN115396482B (zh) * 2022-08-15 2024-05-28 焦点科技股份有限公司 一种跨机房单点服务调用方法

Similar Documents

Publication Publication Date Title
CN108234641B (zh) 基于分布式一致性协议实现的数据读写方法及装置
CN109104483B (zh) 一种基于事件通知的微服务动态负载均衡的方法及装置
US8959385B2 (en) Synchronized failover for active-passive applications
CN109981716B (zh) 一种微服务调用方法及装置
US20110138382A1 (en) System and method for loading resources into a virtual machine
WO2017185961A1 (zh) 一种服务发现的处理方法及装置
CN111182089B (zh) 容器集群系统和访问大数据组件的方法、装置及服务器
CN108123851B (zh) 分布式系统中主从节点同步链路的存活检测方法及装置
US10333788B2 (en) System and method for acquiring, processing and updating global information
CN112052091A (zh) 多机房部署下服务调用请求的处理方法及计算设备
CN114205342B (zh) 服务调试的路由方法、电子设备及介质
CN113315754B (zh) 容器出访防火墙智能联动方法及装置、设备、介质
CN110673941A (zh) 多机房中微服务的迁移方法、电子设备及存储介质
CN110633175A (zh) 基于微服务的多机房数据处理方法、电子设备及存储介质
CN108228812B (zh) 自适应的主节点切换方法及装置
CN107888434B (zh) 网络设备配置同步方法和装置
US20200310828A1 (en) Method, function manager and arrangement for handling function calls
CN112015595B (zh) 主从数据库的切换方法、计算设备及存储介质
CN111628878A (zh) 基于多级网络节点的故障定位方法、装置及系统
CN110765392A (zh) 数据的加载方法及装置、存储介质、终端
CN111367921A (zh) 数据对象的刷新方法及装置
US8089987B2 (en) Synchronizing in-memory caches while being updated by a high rate data stream
CN112291343B (zh) 信息获取方法、装置及电子设备
CN114979286A (zh) 容器服务的访问控制方法、装置、设备及计算机存储介质
CN112367386A (zh) 基于Ignite的自动化运维方法、装置及计算机设备

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