CN111522650A - 分布式系统的业务请求处理方法、装置及电子设备 - Google Patents

分布式系统的业务请求处理方法、装置及电子设备 Download PDF

Info

Publication number
CN111522650A
CN111522650A CN201910107601.5A CN201910107601A CN111522650A CN 111522650 A CN111522650 A CN 111522650A CN 201910107601 A CN201910107601 A CN 201910107601A CN 111522650 A CN111522650 A CN 111522650A
Authority
CN
China
Prior art keywords
service
processes
kth
load balancing
node
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
CN201910107601.5A
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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201910107601.5A priority Critical patent/CN111522650A/zh
Publication of CN111522650A publication Critical patent/CN111522650A/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/5083Techniques for rebalancing the load in a distributed system
    • 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
    • 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/5061Partitioning or combining of resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明实施例提供一种分布式系统的业务请求处理方法、装置及电子设备,其中,方法包括:分布式协同服务节点从N个服务进程中确定第K个服务进程为主服务进程,其余N‑1个服务进程为从服务进程;将第K个服务进程注册到负载均衡服务节点,禁止N‑1个服务进程注册到负载均衡服务节点;负载均衡服务节点将用户的业务请求发送至第K个服务进程进行处理。本发明实施例的方案,能够实现在利用负载均衡服务节点转发业务请求的前提下,只有主服务进程能收到负载均衡服务节点转发的业务请求,从服务进程无法接收负载均衡服务节点转发的业务请求,从而避免了通过从服务进程将业务请求转发至主服务进程实现主从高可用架构所导致的系统复杂度和运维复杂度增大的问题。

Description

分布式系统的业务请求处理方法、装置及电子设备
技术领域
本申请涉及通信技术领域,尤其涉及一种分布式系统的业务请求处理方法、装置及电子设备。
背景技术
图1为现有技术中提供的一种主从高可用架构。如图中所示,负载均衡服务节点向下管理一组服务进程,向上提供一个虚拟IP(VIP)。用户通过VIP访问服务,负载均衡服务节点负责将用户请求分发到服务进程。N个服务进程借助分布式协同服务节点选出1个主服务进程(如服务进程1)和N-1个从服务进程。同一时间内,只有主服务进程可以处理用户请求,读写存储系统;从服务进程不处理用户请求。当主服务进程发生故障后,从服务进程重新借助分布式协同服务节点选出1个主服务进程,继续处理用户请求,读写存储系统。这种方案被称为“主从高可用架构”。
但是,现有方案中,是将N个服务进程都注册到负载均衡服务节点。由于负载均衡服务节点将用户请求均衡转发给N个服务进程,所以从服务进程也会接收到用户请求。如图中所示,用户发起请求2,负载均衡服务节点将请求2转发给服务进程2。如前所述,假设此时服务进程2为从服务进程,按照主从高可用架构的约束,从服务进程2需将用户请求2转发给主服务进程1,请它处理用户请求,并将处理结果返回用户。
但是,上述转发请求的方案中,服务进程必须增加两个功能:功能1:从服务进程必须知道主服务进程是谁,才能把用户请求转发给主服务进程;功能2:从服务进程的代码中必须增加请求转发和处理结果接收的逻辑。增加的逻辑功能会提高系统复杂度,同时从服务进程转发用户请求会导致用户请求处理链路不一致,会增加系统的运维复杂度,例如问题定位的难度。
发明内容
本发明提供了一种分布式系统的业务请求处理方法、装置及电子设备,能够实现在利用负载均衡服务转发业务请求的前提下,只有主服务进程能收到负载均衡服务节点转发的业务请求,从服务进程无法接收负载均衡服务节点转发的业务请求,从而避免了通过从服务进程将业务请求转发至主服务进程实现主从高可用架构所导致的系统复杂度和运维复杂度增大的问题。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,提供了一种分布式系统的业务请求处理方法,包括:
分布式协同服务节点从N个服务进程中确定第K个服务进程为主服务进程,其余N-1个服务进程为从服务进程;
将所述第K个服务进程注册到负载均衡服务节点,禁止所述N-1个服务进程注册到所述负载均衡服务节点;
所述负载均衡服务节点将用户的业务请求发送至所述第K个服务进程进行处理。
第二方面,提供了另一种分布式系统的业务请求处理方法,包括:
分布式协同服务节点从N个服务进程中确定第K个服务进程为主服务进程,其余N-1个服务进程为从服务进程;
将所述N个服务进程注册到负载均衡服务节点;
设置所述N-1个服务进程的权重为0;
所述负载均衡服务节点基于所述权重,将用户的业务请求发送至所述第K个服务进程进行处理。
第三方面,提供了另一种分布式系统的业务请求处理方法,包括:
从N个服务进程中确定第K个服务进程为主服务进程,其余N-1个服务进程为从服务进程;
将所述第K个服务进程注册到负载均衡服务节点,禁止所述N-1个服务进程注册到所述负载均衡服务节点,以使所述负载均衡服务节点将用户的业务请求发送至所述第K个服务进程进行处理。
第四方面,提供了另一种分布式系统的业务请求处理方法,包括:
从N个服务进程中确定第K个服务进程为主服务进程,其余N-1个服务进程为从服务进程;
将所述N个服务进程注册到负载均衡服务节点;
设置所述N-1个服务进程的权重为0,以使所述负载均衡服务节点基于所述权重,将用户的业务请求发送至所述第K个服务进程进行处理。
第五方面,提供了一种分布式系统的业务请求处理装置,包括:分布式协同服务节点以及负载均衡服务节点;
所述分布式协同服务节点,用于与N个服务进程通信;从所述N个服务进程中确定第K个服务进程为主服务进程,其余N-1个服务进程为从服务进程;将所述第K个服务进程注册到负载均衡服务节点,禁止所述N-1个服务进程注册到所述负载均衡服务节点;
所述负载均衡服务节点,用于将用户的业务请求发送至所述第K个服务进程进行处理。
第六方面,提供了另一种分布式系统的业务请求处理装置,包括:分布式协同服务节点以及负载均衡服务节点;
所述分布式协同服务节点,用于与N个服务进程通信;从所述N个服务进程中确定第K个服务进程为主服务进程,其余N-1个服务进程为从服务进程;将所述N个服务进程注册到负载均衡服务节点;设置所述N-1个服务进程的权重为0;
所述负载均衡服务节点,用于基于所述权重,将用户的业务请求发送至所述第K个服务进程进行处理。
第七方面,提供了另一种分布式系统的业务请求处理装置,包括:
进程选取模块,用于从N个服务进程中确定第K个服务进程为主服务进程,其余N-1个服务进程为从服务进程;
主进程注册模块,用于将所述第K个服务进程注册到负载均衡服务节点,禁止所述N-1个服务进程注册到所述负载均衡服务节点,以使所述负载均衡服务节点将用户的业务请求发送至所述第K个服务进程进行处理。
第八方面,提供了另一种分布式系统的业务请求处理装置,包括:
进程选取模块,用于从N个服务进程中确定第K个服务进程为主服务进程,其余N-1个服务进程为从服务进程;
进程注册模块,用于将所述N个服务进程注册到负载均衡服务节点;
权重设置模块,用于设置所述N-1个服务进程的权重为0,以使所述负载均衡服务节点基于所述权重,将用户的业务请求发送至所述第K个服务进程进行处理。
第九方面,提供了一种电子设备,包括:
存储器,用于存储程序;
处理器,耦合至所述存储器,用于执行所述程序,所述程序运行时执行本方案提供的分布式系统的业务请求处理方法。
本发明提供了一种分布式系统的业务请求处理方法、装置及电子设备,通过分布式协同服务节点从N个服务进程中确定第K个服务进程为主服务进程,其余N-1个服务进程为从服务进程;然后将第K个服务进程注册到负载均衡服务节点,禁止N-1个服务进程注册到负载均衡服务节点,从而使负载均衡服务节点将用户的业务请求发送至第K个服务进程进行处理;或者,在选择出主服务进程和从服务进程后,将N个服务进程注册到负载均衡服务节点,并设置N-1个服务进程的权重为0,从而使负载均衡服务节点基于权重,将用户的业务请求发送至第K个服务进程进行处理。如此,通过这两种方法都可以使得用户的业务请求仅被转发至主服务进程,从而实现主从高可用架构。本方案通过改变注册到负载均衡服务节点的服务进程,或者服务进程的权重,在不改变负载均衡服务架构的前提下,将业务请求转发到主服务进程,从而实现主从高可用架构,以减少对现有服务架构的改造成本。另外,本方案不需要从服务进程在接收到业务请求后将业务请求转发给主服务进程的处理环节,从而避免了通过从服务进程将业务请求转发至主服务进程所导致的系统复杂度和运维复杂度增大的问题。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为现有技术中的主从高可用架构示意图;
图2为本发明实施例的主从高可用架构示意图;
图3为本发明实施例的业务请求处理系统结构示意图;
图4为本发明实施例的分布式系统的业务请求处理方法流程图一;
图5为本发明实施例的分布式系统的业务请求处理方法流程图二;
图6为本发明实施例的分布式系统的业务请求处理方法流程图三;
图7为本发明实施例的分布式系统的业务请求处理方法流程图四;
图8为本发明实施例的分布式系统的业务请求处理方法流程图五;
图9为本发明实施例的分布式系统的业务请求处理方法流程图六;
图10为本发明实施例的分布式系统的业务请求处理装置结构图一;
图11为本发明实施例的分布式系统的业务请求处理装置结构图二;
图12为本发明实施例的电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
在图1所示的主从高可用架构中,每个服务进程的初始启动流程如下:
1.与分布式协同服务节点通信,尝试抢占服务锁;
2.抢占成功,服务进程将自己设置为主服务进程,转4;
3.抢占失败,服务进程将自己设置为从服务进程,并记录主服务进程地址。转4;
4.服务进程将自己注册到负载均衡服务节点。
主服务进程故障处理流程如下:
1.从服务进程得到分布式协同服务节点的通知,知道主服务进程不可用;
2.从服务进程与分布式协同服务节点通信,尝试抢占服务锁;
3.抢占成功,从服务进程将自己设置为主服务进程;
4.抢占失败,从服务进程仍然是从服务进程,记录新的主服务进程地址。
由现有方案主要工作流程可知,N个服务进程启动后,不分主从,都注册到负载均衡服务节点。因此,从服务进程会接收到负载均衡服务节点转发的业务请求,并需要将业务请求转发给主服务进程。
本发明实施例改善了现有技术在基于负载均衡服务节点转发业务请求的前提下,通过将从服务进程接收到的业务请求转发给主服务进程以实现主从高可用架构,所导致的系统复杂度和运维复杂度增大的缺陷,其核心思想是,在基于负载均衡服务节点转发业务请求的前提下,通过对服务进程进行处理,使得只有主服务进程被注册到负载均衡服务节点,或者同时将主服务进程和从服务进程注册到负载均衡服务节点,且设置从服务进程的权重为0,以使得业务请求仅被转发至主服务进程,从而在不需要将业务请求由从服务进程转发到主服务进程的情况下,就可实现主从高可用架构。
基于上述业务请求处理的方案思想,图2为本发明实施例提供的主从高可用架构示意图。该处理架构与图1所示的架构整体相似,其区别在于,对注册到负载均衡服务节点的服务进程进行处理,使得在利用负载均衡服务节点转发业务请求至服务进程时,只将业务请求转发给主服务进程(如服务进程1),而不转发给从服务进程。相应的,只有主服务进程可以访问存储系统。
由于负载均衡服务节点转发业务请求时是基于注册到本地的各服务进程及其权重来进行业务请求转发,权重越大,相应服务进程所被分配的业务流量越大。
基于此,可以从以下两方面实施对注册到负载均衡服务节点的服务进程进行处理,实现将业务请求仅转发至主服务进程的处理方案。
第一方面,对注册到负载均衡服务节点的服务进程本身考虑,每次只注册被选取出的主服务进程,不注册从服务进程。另外,在切换主服务进程后,还要将之前已注册的旧主服务进程清除。由于在负载均衡服务节点仅注册了主服务进程,因此在每次负载均衡服务节点转发业务请求时,只能将业务请求发送至主服务进程。
第二方面,对注册到负载均衡服务节点的服务进程的权重考虑,即可以将所有服务进程仍按现有的注册过程全部注册到负载均衡服务节点,但是在设置服务进程权重时,将从服务进程的权重设置为0,从而使得负载均衡服务节点可以基于服务进程的权重将业务请求仅转发至主服务进程。例如,将已注册的服务进程中的主服务进程的权重设置为100%(接收全部的业务流量),从服务进程的权重设置为0(不被分配业务流量)。另外,在切换主服务进程后,还要将之前已注册的旧主服务进程的权重从新设置为0。由于所有从服务进程的权重为0,因此在每次负载均衡服务节点转发业务请求时,只能将业务请求发送至主服务进程。
基于图2所示的主从高可用架构,如图3所示,为本发明实施例提供的业务请求处理系统的结构示意图。该系统包括:负载均衡服务节点310、服务进程组320、分布式协同服务节点330以及存储系统340。其中:
负载均衡服务节点310,用于对服务进程组320中的多个服务进程进行流量分发,实现转发用户发起的业务请求至相应的服务进程。负载均衡服务节点310可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。在负载均衡服务节点310中包括:业务请求处理装置311和进程转发列表312。
业务请求处理装置311,用于基于进程转发列表312中已注册到本地的各服务进程,及其所对应的权重以及预设的负载均衡规则,将用户发送的业务请求转发至相应的服务进程中进行业务请求处理。
服务进程组320中的各服务进程通过分布式协同服务节点330选取出主服务进程和从服务进程。本方案的服务进程是无状态的,可以通过访问存储系统340来获取业务的上下文信息,处理业务请求。
上述业务请求处理装置311,可具体用于接收客户端发送的业务请求;根据注册到本地的服务进程以及预设的负载均衡规则,将业务请求转发给服务进程。
为了使得负载均衡服务节点310每次将用户的业务请求只转发给主服务进程,可以由分布式协同服务节点330与N(N为大于0的自然数)个服务进程进行交互,确定1个主服务进程和N-1个从服务进程,然后仅将主服务进程注册到负载均衡服务节点310的进程转发列表312中,或者同时将主服务进程和从服务进程注册到进程转发列表312中,且设置从服务进程的权重为0,从而实现在负载均衡规则的前提下,将业务请求只转发给主服务进程,实现主从高可用架构。
进一步地,在确定主服务进程和从服务进程的过程中,可通过分布式协同服务节点330为N个服务进程提供服务锁抢占操作服务,然后基于各服务进程抢占服务锁的结果,从N个服务进程中确定主服务进程和从服务进程。
进一步地,在监测到主服务进程出现故障后,可由分布式协同服务节点330从N-1个服务进程中确定出新的主服务进程,且保持其余N-2个服务进程为从服务进程;然后将新的主服务进程注册到负载均衡服务节点310,并进一步删除已注册的故障的主服务进程;或者,将新的主服务进程的权重设置为100%,并进一步将已注册的故障的主服务进程的权重设置为0;从而使得负载均衡服务节点310将用户的业务请求发送至新主服务进程,保证业务请求的正常处理。
下面通过多个实施例来进一步说明本申请的技术方案。
实施例一
基于上述业务请求处理的方案思想,如图4所示,其为本发明实施例示出的分布式系统的业务请求处理方法流程图一,该方法可通过图3中所示的业务请求处理系统执行完成。如图4所示,该处理方法包括如下步骤:
S410,分布式协同服务节点从N个服务进程中确定第K个服务进程为主服务进程,其余N-1个服务进程为从服务进程。
在图2所示的业务请求处理流程中,负载均衡服务节点可将后端真实服务器(每个服务器上运行至少一个服务进程)进行抽象,对外提供一个VIP。用户通过客户端使用VIP访问服务,负载均衡服务节点将访问请求作为业务请求转发到已注册到本地的主服务进程,由主服务进程执行业务请求。而在分布式系统中每个VIP会对应多个服务进程,需要从N个服务进程中确定出1个主服务进程和N-1个从服务进程,以实现主从逻辑。
例如图2中所示,分布式协同服务节点可与提供相同服务的服务进程之间交互,以从可用的N个服务进程中确定第K个(K为大于0且小于或等于N的自然数)服务进程为主服务进程,其余N-1个服务进程为从服务进程。
进一步的,在选取主、从服务进程过程中,分布式协同服务节点可为N个服务进程提供服务锁抢占操作服务,并基于服务锁抢占的结果,从N个服务进程中确定第K个服务进程为主服务进程,其他服务进程为从服务进程。
S420,将第K个服务进程注册到负载均衡服务节点,禁止N-1个服务进程注册到负载均衡服务节点。
为了保证每次负载均衡服务节点在负载均衡规则下能够将业务请求转发至已注册到本地的主服务进程,实现主从高可用架构,可以在注册服务进程时,仅将选取出的主服务进程,即上述第K个服务进程注册到负载均衡服务节点,同时禁止剩余N-1个进程注册到负载均衡服务节点。由于进程转发列表中仅注册有主服务进程,因此在每次负载均衡服务节点转发业务请求时,只能将业务请求发送至主服务进程。
相应地,每个服务进程初始启动流程可如下:
1.与分布式协同服务节点通信,尝试抢占服务锁;
2.抢占成功,服务进程将自己设置为主服务进程,转4;
3.抢占失败,服务进程将自己设置为从服务进程;
4.主服务进程将自己注册到负载均衡服务节点。
这里需要说明的是,各服务进程的主从属性对于负载均衡服务节点而言是无法感知的,负载均衡服务节点只是将提交了注册请求的服务进程注册到进程转发列表中即可。
S430,负载均衡服务节点将用户的业务请求发送至第K个服务进程进行处理。
在负载均衡服务节点本地维护有一个进程转发列表,该进程转发列表中包含了已注册到本地服务进程的地址,且每个服务进程对应设置有权重。负载均衡服务节点根据进程转发列表中已注册的服务进程和预设的负载均衡规则(根据各服务进程的权重进行业务流量分配),将业务请求转发到相应的服务进程进行业务处理。
由于本方案中,仅将从多个服务进程中选取出的主服务进程注册到负载均衡服务节点,所以负载均衡服务节点在接收到业务请求后,从已注册的服务进程中确定出已注册的第K个服务进程,并将业务请求发送到第K个服务进程进行处理,从而实现将业务请求只转发给主服务进程。
主服务进程接收到业务请求后,通过访问如图3中所示的存储系统340获取本次业务处理所需的上下文,并执行业务请求。
本发明提供的分布式系统的业务请求处理方法,通过分布式协同服务节点从N个服务进程中确定第K个服务进程为主服务进程,其余N-1个服务进程为从服务进程;然后将第K个服务进程注册到负载均衡服务节点,禁止N-1个服务进程注册到负载均衡服务节点,从而使负载均衡服务节点将用户的业务请求发送至第K个服务进程进行处理。本方案通过改变注册到负载均衡服务节点的服务进程,在不改变负载均衡服务架构的前提下,将业务请求转发到主服务进程,从而实现主从高可用架构,以减少对现有服务架构的改造成本。另外,本方案不需要从服务进程在接收到业务请求后将业务请求转发给主服务进程的处理环节,从而避免了通过从服务进程将业务请求转发至主服务进程所导致的系统复杂度和运维复杂度增大的问题。
实施例二
如图5所示,为本发明实施例的分布式系统的业务请求处理方法流程图二。与实施例一所示方法的区别在于,增加了在主服务进程出现故障后,如何恢复分布式系统正常的业务处理能力的实施方案。如图5所示,在图4所示方法的基础上,还可执行如下步骤:
S510,监测到第K个服务进程发生故障。
在负载均衡服务节点通过将业务请求转发给主服务进程,即上述第K个服务进程以执行业务请求的过程中,分布式协同服务节点可以实时监测主服务进程的运行状态,并确定主服务进程是否发生故障(如当前主服务进程宕机不可用)。
S520,从N-1个服务进程中确定第M个服务进程为主服务进程,保持其余N-2个服务进程为从服务进程。
如果主服务进程发生故障,则分布式协同服务节点可从剩余的N-1个服务进程(从服务进程)中确定第M(M为大于0小于或等于N-1的自然数)个服务进程为主服务进程,并保持其余N-2个服务进程为从服务进程。
进一步的,在选取主、从服务进程过程中,分布式协同服务节点可为N-1个服务进程提供服务锁抢占操作服务,并基于服务锁抢占的结果,从N-1个服务进程中确定第M个服务进程为主服务进程,其他服务进程仍为从服务进程。
进一步地,在步骤S520之后,还可执行如下步骤:
S530,将第M个服务进程注册到负载均衡服务节点。
在选取出新的主服务进程后,可将该主服务进程注册到负载均衡服务节点的进程转发列表中。由于当前进程转发列表中仅注册有主服务进程,且第M个服务进程为可用服务进程,因此在每次负载均衡服务节点转发业务请求时,只能将业务请求发送至该主服务进程执行。
相应地,主服务进程故障处理流程如下:
1.从服务进程得到分布式协同服务节点的通知,知道主服务进程不可用;
2.从服务进程与分布式协同服务节点通信,尝试抢占服务锁;
3.抢占成功,从服务进程将自己设置为主服务进程,转5;
4.抢占失败,从服务进程仍然是从服务进程;
5.主服务进程将自己注册到负载均衡服务节点。
S540,负载均衡服务节点将用户的业务请求发送至第M个服务进程进行处理。
由于当前注册到负载均衡服务节点的服务进程只有主服务进程,且主服务进程中只有第M个服务进程为可用服务进程。因此,负载均衡服务节点只能将用户的业务请求发送至第M个服务进程进行处理。即使负载均衡服务节点将业务请求发送给其他发生故障的主服务进程也会因为得不到请求响应,而重新将业务请求发给新选取出的第M个服务进程进行处理;或者负载均衡服务节点可以感知到各主服务进程的运行状态而直接将业务请求发送至未发生故障的主服务进程。
进一步地,在选取出新的主服务进程后,负载均衡服务节点可将上述第K个服务进程(上一次选取出的主服务进程)从注册列表中删除,以停止发送用户的业务请求到第K个服务进程,从而使业务请求能够被快速准确的发送至新选取出的可用的主服务进程,即上述的第M个服务进程。
例如,在上述故障处理流程的5中,新主服务进程可触发调用负载均衡服务节点中的“清理服务进程列表”接口,以使得负载均衡服务节点基于当前被选取出的新主服务进程的触发操作,调用“清理服务进程列表”接口,清除当前进程转发列表中已注册的主服务进程,使其不再接收负载均衡服务节点转发的业务请求。然后将新主服务进程注册到进程转发列表中。
该实施例在图4所示实施例基础上,进一步地,在主服务进程发生故障后,分布式协同服务节点从N-1个服务进程中确定第M个服务进程为主服务进程,保持其余N-2个服务进程为从服务进程;将第M个服务进程注册到负载均衡服务节点;负载均衡服务节点将用户的业务请求发送至第M个服务进程进行处理,从而保证业务请求能够继续被主服务进程执行处理。
进一步地,在主服务进程发生故障时,负载均衡服务节点将第K个服务进程从注册列表中删除,以停止发送用户的业务请求到第K个服务进程,从而确保主服务进程的唯一性,使业务请求能够被快速准确的发送至新选取出的可用的主服务节点进程。
实施例三
如图6所示,为本发明实施例的分布式系统的业务请求处理方法流程图三。该方法可通过图3中所示的业务请求处理系统执行完成。如图6所示,该处理方法包括如下步骤:
S610,分布式协同服务节点从N个服务进程中确定第K个服务进程为主服务进程,其余N-1个服务进程为从服务进程。
在图2所示的业务请求处理流程中,负载均衡服务节点可将后端真实服务器(每个服务器上运行至少一个服务进程)进行抽象,对外提供一个VIP。用户通过客户端使用VIP访问服务,负载均衡服务节点将访问请求作为业务请求转发到已注册到本地的主服务进程,由主服务进程执行业务请求。而在分布式系统中每个VIP会对应多个服务进程,需要从N个服务进程中确定出1个主服务进程和N-1个从服务进程,以实现主从逻辑。
例如图2中所示,分布式协同服务节点可与提供相同服务的服务进程之间交互,以从可用的N个服务进程中确定第K个(K为大于0且小于或等于N的自然数)服务进程为主服务进程,其余N-1个服务进程为从服务进程。
进一步的,在选取主、从服务进程过程中,分布式协同服务节点可为N个服务进程提供服务锁抢占操作服务,并基于服务锁抢占的结果,从N个服务进程中确定第K个服务进程为主服务进程,其他服务进程为从服务进程。
S620,将N个服务进程注册到负载均衡服务节点。
具体地,每个服务进程初始启动流程如下:
1.与分布式协同服务节点通信,尝试抢占服务锁;
2.抢占成功,服务进程将自己设置为主服务进程,转4;
3.抢占失败,服务进程将自己设置为从服务进程,转4;
4.服务进程将自己注册到负载均衡服务节点。
这里需要说明的是,各服务进程的主从属性对于负载均衡服务节点而言是无法感知的,负载均衡服务节点只是将提交了注册请求的服务进程注册到进程转发列表中即可。
S630,设置N-1个服务进程的权重为0。
为了保证每次负载均衡服务节点在负载均衡规则下能够将业务请求转发至已注册到本地的主服务进程,实现主从高可用架构,可以在注册服务进程时,设置N-1个服务进程,即上述选出的从服务进程的权重为0。由于从服务进程的权重为0,因此在每次负载均衡服务节点转发业务请求时,不会将业务请求发送至从服务进程。
S640,负载均衡服务节点基于权重,将用户的业务请求发送至第K个服务进程进行处理。
在负载均衡服务节点本地维护有一个进程转发列表,该进程转发列表中包含了已注册到本地服务进程的地址,且每个服务进程对应设置有权重。负载均衡服务节点根据进程转发列表中已注册的服务进程和预设的负载均衡规则(根据各服务进程的权重进行业务流量分配),将业务请求转发到相应的服务进程进行业务处理。
由于本方案中,虽然将所有主服务进程和从服务进程都注册到负载均衡服务节点,但是从服务进程的权重被设置为0,不被分配业务流量,而此时只要设置主服务进程的权重大于0或者直接设置为100%,那么负载均衡服务节点在接收到业务请求后,从已注册的服务进程中仅可选择前述已注册的第K个服务进程,并将业务请求发送到第K个服务进程进行处理,从而实现将业务请求只转发给主服务进程。例如,可设置上述第K个服务进程,即主服务进程的权重为100%;负载均衡服务节点基于权重,从已注册的服务进程中确定该第K个服务进程,并将业务请求发送到第K个服务进程进行处理。
本发明提供的分布式系统的业务请求处理方法,通过分布式协同服务节点从N个服务进程中确定第K个服务进程为主服务进程,其余N-1个服务进程为从服务进程;然后将N个服务进程注册到负载均衡服务节点,并设置N-1个服务进程的权重为0,从而使负载均衡服务节点基于权重,将用户的业务请求发送至第K个服务进程进行处理。本方案通过改变注册到负载均衡服务节点的服务进程的权重,在不改变负载均衡服务架构的前提下,将业务请求转发到主服务进程,从而实现主从高可用架构,以减少对现有服务架构的改造成本。另外,本方案不需要从服务进程在接收到业务请求后将业务请求转发给主服务进程的处理环节,从而避免了通过从服务进程将业务请求转发至主服务进程所导致的系统复杂度和运维复杂度增大的问题。
实施例四
如图7所示,为本发明实施例的分布式系统的业务请求处理方法流程图四。与实施例三所示方法的区别在于,增加了在主服务进程出现故障后,如何恢复分布式系统正常的业务处理能力的实施方案。如图7所示,在图6所示方法的基础上,还可执行如下步骤:
S710,监测到第K个服务进程发生故障。
在负载均衡服务节点通过将业务请求转发给主服务进程,即上述第K个服务进程以执行业务请求的过程中,分布式协同服务节点可以实时监测主服务进程的运行状态,并确定主服务进程是否发生故障(如当前主服务进程宕机不可用)。
S720,从N-1个服务进程中确定第M个服务进程为主服务进程,保持其余N-2个服务进程为从服务进程。
如果主服务进程发生故障,则分布式协同服务节点可从剩余的N-1个服务进程(从服务进程)中确定第M(M为大于0小于或等于N-1的自然数)个服务进程为主服务进程,并保持其余N-2个服务进程为从服务进程。
进一步的,在选取主、从服务进程过程中,分布式协同服务节点可为N-1个服务进程提供服务锁抢占操作服务,并基于服务锁抢占的结果,从N-1个服务进程中确定第M个服务进程为主服务进程,其他服务进程仍为从服务进程。
主服务进程故障处理流程如下:
1.从服务进程得到分布式协同服务节点的通知,知道主服务进程不可用;
2.从服务进程与分布式协同服务节点通信,尝试抢占服务锁;
3.抢占成功,从服务进程将自己设置为主服务进程;
4.抢占失败,从服务进程仍然是从服务进程。
进一步地,在步骤S720之后,还可执行如下步骤:
S730,将第M个服务进程的权重设置为100%。
S740,负载均衡服务节点基于权重,将用户的业务请求发送至第M个服务进程进行处理。
负载均衡服务节点在接收到业务请求后,从已注册的服务进程中根据各服务进程的权重选择出第M个服务进程,并将业务请求发送到第M个服务进程进行处理,从而实现将业务请求只转发给主服务进程。
由于当前注册到负载均衡服务节点的服务进程只有主服务进程的权重为100%,且主服务进程中只有第M个服务进程为可用服务进程。因此,负载均衡服务节点只能将用户的业务请求发送至第M个服务进程进行处理。即使负载均衡服务节点将业务请求发送给其他发生故障的主服务进程也会因为得不到请求响应,而重新将业务请求发给新选取出的第M个服务进程进行处理;或者负载均衡服务节点可以感知到各主服务进程的运行状态而直接将业务请求发送至未发生故障的主服务进程。
进一步地,在选取出新的主服务进程后,分布式协同服务节点可将上述第K个服务进程(上一次选取出的主服务进程)的权重设置为0,以使负载均衡服务节点停止发送用户的业务请求到第K个服务进程,从而使业务请求能够被快速准确的发送至新选取出的可用的主服务节点进程,即上述的第M个服务进程。
例如,主服务进程可触发调用负载均衡服务节点中的“设置服务进程权重”接口,以使得负载均衡服务节点基于当前被选取出的主服务进程的触发操作,调用“设置服务进程权重”接口,设置当前进程转发列表中已注册的各服务进程的权重。由于是主服务进程触发的设置权重,可以在触发请求中携带主服务进程的地址,从而使负载均衡服务节点将本次设置请求中携带的服务进程地址对应的服务进程(主服务进程)的权重设置为100%,将其他服务进程(从服务进程)权重设置为0。
在负载均衡服务节点进行业务请求转发的过程中,如果主服务进程发生故障,而选取出了新的主服务进程。该新主服务进程仍可触发调用负载均衡服务节点中的“设置服务进程权重”接口,以使得负载均衡服务节点基于当前被选取出的新主服务进程的触发操作,调用“设置服务进程权重”接口,设置当前进程转发列表中已注册的各服务进程的权重。由于是新主服务进程触发的设置权重,可以在触发请求中携带主服务进程的地址,从而使负载均衡服务节点将本次设置请求中携带的服务进程地址对应的服务进程(新主服务进程)的权重设置为100%,将其他服务进程(从服务进程)权重设置为0。
借助负载均衡服务节点中的“设置服务进程权重”接口,虽然N个服务进程都注册到负载均衡服务节点,但是在任意时间点内,至多只有主服务进程的权重为100%,只有主服务进程能够收到负载均衡服务节点转发的业务请求;从服务进程的权重为0,不会收到负载均衡服务节点转发的用户请求,避免了业务请求由从服务进程转发到主服务进程。
该实施例在图6所示实施例基础上,进一步地,在主服务进程发生故障后,分布式协同服务节点从N-1个服务进程中确定第M个服务进程为主服务进程,保持其余N-2个服务进程为从服务进程;将第M个服务进程的权重设置为100%;负载均衡服务节点基于权重,将用户的业务请求发送至第M个服务进程进行处理,从而保证业务请求能够继续被主服务进程执行处理。
进一步地,在监测到主服务进程发生故障后,分布式协同服务节点将第K个服务进程的权重设置为0,以使负载均衡服务节点停止发送用户的业务请求到第K个服务进程,从而确保主服务进程的唯一性,使业务请求能够被快速准确的发送至新选取出的可用的主服务进程。
实施例五
如图8所示,为本发明实施例的分布式系统的业务请求处理方法流程图五。该方法可通过图3中所示的业务请求处理系统中的分布式协同服务节点执行完成。如图8所示,该处理方法包括如下步骤:
S810,从N个服务进程中确定第K个服务进程为主服务进程,其余N-1个服务进程为从服务进程。
S820,将第K个服务进程注册到负载均衡服务节点,禁止N-1个服务进程注册到负载均衡服务节点,以使负载均衡服务节点将用户的业务请求发送至第K个服务进程进行处理。
上述步骤与图4中对应的步骤内容相同。进一步地,本方法实施例中还可包括如图5中所示的以分布式协同服务节点为执行主体的方法步骤,在此对步骤内容不做赘述。
实施例六
如图9所示,为本发明实施例的分布式系统的业务请求处理方法流程图六。该方法可通过图3中所示的业务请求处理系统中的分布式协同服务节点执行完成。如图9所示,该处理方法包括如下步骤:
S910,从N个服务进程中确定第K个服务进程为主服务进程,其余N-1个服务进程为从服务进程;
S920,将N个服务进程注册到负载均衡服务节点;
S930,设置N-1个服务进程的权重为0,以使负载均衡服务节点基于权重,将用户的业务请求发送至第K个服务进程进行处理。
上述步骤与图6中对应的步骤内容相同。进一步地,本方法实施例中还可包括如图7中所示的以分布式协同服务节点为执行主体的方法步骤,在此对步骤内容不做赘述。
实施例七
本实施例提供了一种分布式系统的业务请求处理装置,可用于执行如图4、图5所示的方法步骤,其包括:分布式协同服务节点以及负载均衡服务节点;其中:
分布式协同服务节点,用于与N个服务进程通信;从N个服务进程中确定第K个服务进程为主服务进程,其余N-1个服务进程为从服务进程;将第K个服务进程注册到负载均衡服务节点,禁止N-1个服务进程注册到负载均衡服务节点;
负载均衡服务节点,用于将用户的业务请求发送至第K个服务进程进行处理。
进一步地,分布式协同服务节点,用于为N个服务进程提供服务锁抢占操作服务,并基于服务锁抢占的结果,从N个服务进程中确定第K个服务进程为主服务进程。
进一步地,负载均衡服务节点,可用于接收业务请求;确定已注册的第K个服务进程;将业务请求发送到第K个服务进程进行处理。
进一步地,分布式协同服务节点,还用于监测到第K个服务进程发生故障;从N-1个服务进程中确定第M个服务进程为主服务进程,保持其余N-2个服务进程为从服务进程。
进一步地,分布式协同服务节点,还用于将第M个服务进程注册到负载均衡服务节点;
负载均衡服务节点,还用于将用户的业务请求发送至第M个服务进程进行处理。
进一步地,负载均衡服务节点,还可用于将第K个服务进程从注册列表中删除,以停止发送用户的业务请求到第K个服务进程。
本发明提供的分布式系统的业务请求处理系统,通过分布式协同服务节点从N个服务进程中确定第K个服务进程为主服务进程,其余N-1个服务进程为从服务进程;然后将第K个服务进程注册到负载均衡服务节点,禁止N-1个进程注册到负载均衡服务节点,从而使负载均衡服务节点将用户的业务请求发送至第K个服务进程进行处理。本方案通过改变注册到负载均衡服务节点的服务进程,在不改变负载均衡服务架构的前提下,将业务请求转发到主服务进程,从而实现主从高可用架构,以减少对现有服务架构的改造成本。另外,本方案不需要从服务进程在接收到业务请求后将业务请求转发给主服务进程的处理环节,从而避免了通过从服务进程将业务请求转发至主服务进程所导致的系统复杂度和运维复杂度增大的问题。
进一步地,在主服务进程发生故障后,分布式协同服务节点从N-1个服务进程中确定第M个服务进程为主服务进程,保持其余N-2个服务进程为从服务进程;将第M个服务进程注册到负载均衡服务节点;负载均衡服务节点将用户的业务请求发送至第M个服务进程进行处理,从而保证业务请求能够继续被主服务进程执行处理。
进一步地,在主服务进程发生故障时,负载均衡服务节点将第K个服务进程从注册列表中删除,以停止发送用户的业务请求到第K个服务进程,从而确保主服务进程的唯一性,使业务请求能够被快速准确的发送至新选取出的可用的主服务进程。
实施例八
本实施例还提供了一种分布式系统的业务请求处理装置,可用于执行如图6、图7所示的方法步骤,其包括:分布式协同服务节点以及负载均衡服务节点;其中:
分布式协同服务节点,用于从N个服务进程中确定第K个服务进程为主服务进程,其余N-1个服务进程为从服务进程;将N个服务进程注册到负载均衡服务节点;设置N-1个服务进程的权重为0;
分布式协同服务节点,用于与N个服务进程通信;从N个服务进程中确定第K个服务进程为主服务进程,其余N-1个服务进程为从服务进程;将N个服务进程注册到负载均衡服务节点;设置N-1个服务进程的权重为0;
负载均衡服务节点,用于基于权重,将用户的业务请求发送至第K个服务进程进行处理。
进一步地,分布式协同服务节点,还可用于为N个服务进程提供服务锁抢占操作服务,并基于服务锁抢占的结果,从N个服务进程中确定第K个服务进程为主服务进程。
进一步地,分布式协同服务节点,还可用于设置第K个服务进程的权重为100%;
负载均衡服务节点,可用于基于权重,从已注册的服务进程中确定第K个服务进程,并将业务请求发送到第K个服务进程进行处理。
进一步地,分布式协同服务节点,可用于监测到第K个服务进程发生故障;从N-1个服务进程中确定第M个服务进程为主服务进程,保持其余N-2个服务进程为从服务进程。
进一步地,分布式协同服务节点,还可用于将第M个服务进程的权重设置为100%;
负载均衡服务节点,可用于基于权重,将用户的业务请求发送至第M个服务进程进行处理。
进一步地,分布式协同服务节点,还可用于将第K个服务进程的权重设置为0。
本发明提供的分布式系统的业务请求处理装置,通过分布式协同服务节点从N个服务进程中确定第K个服务进程为主服务进程,其余N-1个服务进程为从服务进程;然后将N个服务进程注册到负载均衡服务节点,并设置N-1个服务进程的权重为0,从而使负载均衡服务节点基于权重,将用户的业务请求发送至第K个服务进程进行处理。本方案通过改变注册到负载均衡服务节点的服务进程的权重,在不改变负载均衡服务架构的前提下,将业务请求转发到主服务进程,从而实现主从高可用架构,以减少对现有服务架构的改造成本。另外,本方案不需要从服务进程在接收到业务请求后将业务请求转发给主服务进程的处理环节,从而避免了通过从服务进程将业务请求转发至主服务进程所导致的系统复杂度和运维复杂度增大的问题。
进一步地,在主服务进程发生故障后,分布式协同服务节点从N-1个服务进程中确定第M个服务进程为主服务进程,保持其余N-2个服务进程为从服务进程;将第M个服务进程的权重设置为100%;负载均衡服务节点基于权重,将用户的业务请求发送至第M个服务进程进行处理,从而保证业务请求能够继续被主服务进程执行处理。
进一步地,在主服务进程发生故障后,分布式协同服务节点将第K个服务进程的权重设置为0,以使负载均衡服务节点停止发送用户的业务请求到第K个服务进程,从而确保主服务进程的唯一性,使业务请求能够被快速准确的发送至新选取出的可用的主服务进程。
实施例九
如图10所示,为本发明实施例的分布式系统的业务请求处理装置,可设置在如图2、图3所示的分布式协调服务节点中,用于执行如图8所示的方法步骤,其包括:
进程选取模块101,用于从N个服务进程中确定第K个服务进程为主服务进程,其余N-1个服务进程为从服务进程;
主进程注册模块102,用于将第K个服务进程注册到负载均衡服务节点,禁止N-1个服务进程注册到负载均衡服务节点,以使负载均衡服务节点将用户的业务请求发送至所述第K个服务进程进行处理。
实施例十
如图11所示,为本发明实施例的分布式系统的业务请求处理装置,可设置在如图2、图3所示的分布式协调服务节点中,用于执行如图9所示的方法步骤,其包括:
进程选取模块101,用于从N个服务进程中确定第K个服务进程为主服务进程,其余N-1个服务进程为从服务进程;
进程注册模块111,用于将N个服务进程注册到负载均衡服务节点;
权重设置模块112,用于设置N-1个服务进程的权重为0,以使负载均衡服务节点基于权重,将用户的业务请求发送至第K个服务进程进行处理。
实施例十一
前面实施例描述了分布式系统的业务请求处理装置的整体架构,该装置的功能可借助一种电子设备实现完成,如图12所示,其为本发明实施例的电子设备的结构示意图,具体包括:存储器121和处理器122。
存储器121,用于存储程序。
除上述程序之外,存储器121还可被配置为存储其它各种数据以支持在电子设备上的操作。这些数据的示例包括用于在电子设备上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。
存储器121可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
处理器122,耦合至存储器121,用于执行存储器121中的程序,所述程序运行时执行如图4-9中任意一种分布式系统的业务请求处理方法。
上述的具体处理操作已经在前面实施例中进行了详细说明,在此不再赘述。
进一步,如图12所示,电子设备还可以包括:通信组件123、电源组件124、音频组件125、显示器126等其它组件。图12中仅示意性给出部分组件,并不意味着电子设备只包括图12所示组件。
通信组件123被配置为便于电子设备和其他设备之间有线或无线方式的通信。电子设备可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件123经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件123还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
电源组件124,为电子设备的各种组件提供电力。电源组件124可以包括电源管理系统,一个或多个电源,及其他与为电子设备生成、管理和分配电力相关联的组件。
音频组件125被配置为输出和/或输入音频信号。例如,音频组件125包括一个麦克风(MIC),当电子设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器121或经由通信组件123发送。在一些实施例中,音频组件125还包括一个扬声器,用于输出音频信号。
显示器126包括屏幕,其屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与触摸或滑动操作相关的持续时间和压力。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (29)

1.一种分布式系统的业务请求处理方法,包括:
分布式协同服务节点从N个服务进程中确定第K个服务进程为主服务进程,其余N-1个服务进程为从服务进程;
将所述第K个服务进程注册到负载均衡服务节点,禁止所述N-1个服务进程注册到所述负载均衡服务节点;
所述负载均衡服务节点将用户的业务请求发送至所述第K个服务进程进行处理。
2.根据权利要求1所述的方法,其中,所述分布式协同服务节点从N个服务进程中确定第K个服务进程为主服务进程包括:
所述分布式协同服务节点为所述N个服务进程提供服务锁抢占操作服务,并基于服务锁抢占的结果,从所述N个服务进程中确定所述第K个服务进程为主服务进程。
3.根据权利要求1所述的方法,其中,所述负载均衡服务节点将用户的业务请求发送至所述第K个进程进行处理包括:
接收所述业务请求;
确定已注册的所述第K个服务进程;
将所述业务请求发送到所述第K个服务进程进行处理。
4.根据权利要求1所述的方法,其中,所述方法还包括:
监测到所述第K个服务进程发生故障;
从所述N-1个服务进程中确定第M个服务进程为主服务进程,保持其余N-2个服务进程为从服务进程。
5.根据权利要求4所述的方法,其中,所述方法还包括:
将所述第M个服务进程注册到所述负载均衡服务节点;
所述负载均衡服务节点将用户的业务请求发送至所述第M个服务进程进行处理。
6.根据权利要求5所述的方法,其中,所述方法还包括:
所述负载均衡服务节点将所述第K个服务进程从注册列表中删除,以停止发送用户的业务请求到所述第K个服务进程。
7.一种分布式系统的业务请求处理方法,包括:
分布式协同服务节点从N个服务进程中确定第K个服务进程为主服务进程,其余N-1个服务进程为从服务进程;
将所述N个服务进程注册到负载均衡服务节点;
设置所述N-1个服务进程的权重为0;
所述负载均衡服务节点基于所述权重,将用户的业务请求发送至所述第K个服务进程进行处理。
8.根据权利要求7所述的方法,其中,所述分布式协同服务节点从N个服务进程中确定第K个服务进程为主服务进程包括:
所述分布式协同服务节点为所述N个服务进程提供服务锁抢占操作服务,并基于服务锁抢占的结果,从所述N个服务进程中确定所述第K个服务进程为主服务进程。
9.根据权利要求7所述的方法,其中,所述方法还包括:
设置所述第K个服务进程的权重为100%;
所述负载均衡服务节点基于所述权重,从已注册的服务进程中确定所述第K个服务进程,并将所述业务请求发送到所述第K个服务进程进行处理。
10.根据权利要求9所述的方法,其中,所述方法还包括:
监测到所述第K个服务进程发生故障;
从所述N-1个服务进程中确定第M个服务进程为主服务进程,保持其余N-2个服务进程为从服务进程。
11.根据权利要求10所述的方法,其中,所述方法还包括:
将所述第M个服务进程的权重设置为100%;
所述负载均衡服务节点基于所述权重,将用户的业务请求发送至所述第M个服务进程进行处理。
12.根据权利要求11所述的方法,其中,所述方法还包括:
将所述第K个服务进程的权重设置为0。
13.一种分布式系统的业务请求处理方法,包括:
从N个服务进程中确定第K个服务进程为主服务进程,其余N-1个服务进程为从服务进程;
将所述第K个服务进程注册到负载均衡服务节点,禁止所述N-1个服务进程注册到所述负载均衡服务节点,以使所述负载均衡服务节点将用户的业务请求发送至所述第K个服务进程进行处理。
14.一种分布式系统的业务请求处理方法,包括:
从N个服务进程中确定第K个服务进程为主服务进程,其余N-1个服务进程为从服务进程;
将所述N个服务进程注册到负载均衡服务节点;
设置所述N-1个服务进程的权重为0,以使所述负载均衡服务节点基于所述权重,将用户的业务请求发送至所述第K个服务进程进行处理。
15.一种分布式系统的业务请求处理装置,包括:分布式协同服务节点以及负载均衡服务节点;
所述分布式协同服务节点,用于与N个服务进程通信;从所述N个服务进程中确定第K个服务进程为主服务进程,其余N-1个服务进程为从服务进程;将所述第K个服务进程注册到负载均衡服务节点,禁止所述N-1个服务进程注册到所述负载均衡服务节点;
所述负载均衡服务节点,用于将用户的业务请求发送至所述第K个服务进程进行处理。
16.根据权利要求15所述的装置,其中,
所述分布式协同服务节点,用于为所述N个服务进程提供服务锁抢占操作服务,并基于服务锁抢占的结果,从所述N个服务进程中确定所述第K个服务进程为主服务进程。
17.根据权利要求15所述的装置,其中,
所述负载均衡服务节点,用于接收所述业务请求;确定已注册的所述第K个服务进程;将所述业务请求发送到所述第K个服务进程进行处理。
18.根据权利要求15所述的装置,其中,
所述分布式协同服务节点,还用于监测到所述第K个服务进程发生故障;从所述N-1个服务进程中确定第M个服务进程为主服务进程,保持其余N-2个服务进程为从服务进程。
19.根据权利要求18所述的装置,其中,
所述分布式协同服务节点,还用于将所述第M个服务进程注册到所述负载均衡服务节点;
所述负载均衡服务节点,还用于将用户的业务请求发送至所述第M个服务进程进行处理。
20.根据权利要求19所述的装置,其中,
所述负载均衡服务节点,还用于将所述第K个服务进程从注册列表中删除,以停止发送用户的业务请求到所述第K个服务进程。
21.一种分布式系统的业务请求处理装置,包括:分布式协同服务节点以及负载均衡服务节点;
所述分布式协同服务节点,用于与N个服务进程通信;从所述N个服务进程中确定第K个服务进程为主服务进程,其余N-1个服务进程为从服务进程;将所述N个服务进程注册到负载均衡服务节点;设置所述N-1个服务进程的权重为0;
所述负载均衡服务节点,用于基于所述权重,将用户的业务请求发送至所述第K个服务进程进行处理。
22.根据权利要求21所述的装置,其中,
所述分布式协同服务节点,用于为所述N个服务进程提供服务锁抢占操作服务,并基于服务锁抢占的结果,从所述N个服务进程中确定所述第K个服务进程为主服务进程。
23.根据权利要求21所述的装置,其中,
所述分布式协同服务节点,还用于设置所述第K个服务进程的权重为100%;
所述负载均衡服务节点,用于基于所述权重,从已注册的服务进程中确定所述第K个服务进程,并将所述业务请求发送到所述第K个服务进程进行处理。
24.根据权利要求23所述的装置,其中,
所述分布式协同服务节点,用于监测到所述第K个服务进程发生故障;从所述N-1个服务进程中确定第M个服务进程为主服务进程,保持其余N-2个服务进程为从服务进程。
25.根据权利要求24所述的装置,其中,
所述分布式协同服务节点,还用于将所述第M个服务进程的权重设置为100%;
所述负载均衡服务节点,用于基于所述权重,将用户的业务请求发送至所述第M个服务进程进行处理。
26.根据权利要求25所述的装置,其中,
所述分布式协同服务节点,还用于将所述第K个服务进程的权重设置为0。
27.一种分布式系统的业务请求处理装置,包括:
进程选取模块,用于从N个服务进程中确定第K个服务进程为主服务进程,其余N-1个服务进程为从服务进程;
主进程注册模块,用于将所述第K个服务进程注册到负载均衡服务节点,禁止所述N-1个服务进程注册到所述负载均衡服务节点,以使所述负载均衡服务节点将用户的业务请求发送至所述第K个服务进程进行处理。
28.一种分布式系统的业务请求处理装置,包括:
进程选取模块,用于从N个服务进程中确定第K个服务进程为主服务进程,其余N-1个服务进程为从服务进程;
进程注册模块,用于将所述N个服务进程注册到负载均衡服务节点;
权重设置模块,用于设置所述N-1个服务进程的权重为0,以使所述负载均衡服务节点基于所述权重,将用户的业务请求发送至所述第K个服务进程进行处理。
29.一种电子设备,包括:
存储器,用于存储程序;
处理器,耦合至所述存储器,用于执行所述程序,所述程序运行时执行权利要求1-14中任一项所述的分布式系统的业务请求处理方法。
CN201910107601.5A 2019-02-02 2019-02-02 分布式系统的业务请求处理方法、装置及电子设备 Pending CN111522650A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910107601.5A CN111522650A (zh) 2019-02-02 2019-02-02 分布式系统的业务请求处理方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910107601.5A CN111522650A (zh) 2019-02-02 2019-02-02 分布式系统的业务请求处理方法、装置及电子设备

Publications (1)

Publication Number Publication Date
CN111522650A true CN111522650A (zh) 2020-08-11

Family

ID=71900018

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910107601.5A Pending CN111522650A (zh) 2019-02-02 2019-02-02 分布式系统的业务请求处理方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN111522650A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112346912A (zh) * 2020-12-01 2021-02-09 成都精灵云科技有限公司 基于网络文件系统的有状态服务主备高可用系统及方法
CN113157441A (zh) * 2021-03-24 2021-07-23 北京云上曲率科技有限公司 一种分布式去中心化的负载均衡方法及系统
CN113342499A (zh) * 2021-06-29 2021-09-03 中国农业银行股份有限公司 分布式任务调用方法、装置、设备、存储介质、程序产品

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101510880A (zh) * 2009-03-27 2009-08-19 北京中星微电子有限公司 一种流媒体系统和装置及其方法
CN102123179A (zh) * 2011-03-28 2011-07-13 中国人民解放军国防科学技术大学 应用于分布式应用系统的负载均衡方法和系统
CN103944891A (zh) * 2014-04-10 2014-07-23 福建星网信通软件有限公司 业务应用系统接入方法及装置
CN105681379A (zh) * 2014-11-20 2016-06-15 博雅网络游戏开发(深圳)有限公司 集群管理系统和方法
CN105959711A (zh) * 2016-04-21 2016-09-21 乐视控股(北京)有限公司 一种直播流媒体的上传方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101510880A (zh) * 2009-03-27 2009-08-19 北京中星微电子有限公司 一种流媒体系统和装置及其方法
CN102123179A (zh) * 2011-03-28 2011-07-13 中国人民解放军国防科学技术大学 应用于分布式应用系统的负载均衡方法和系统
CN103944891A (zh) * 2014-04-10 2014-07-23 福建星网信通软件有限公司 业务应用系统接入方法及装置
CN105681379A (zh) * 2014-11-20 2016-06-15 博雅网络游戏开发(深圳)有限公司 集群管理系统和方法
CN105959711A (zh) * 2016-04-21 2016-09-21 乐视控股(北京)有限公司 一种直播流媒体的上传方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
青岛英谷教育科技股份有限公司编著: "云计算与大数据概论", 西安电子科技大学出版社, pages: 54 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112346912A (zh) * 2020-12-01 2021-02-09 成都精灵云科技有限公司 基于网络文件系统的有状态服务主备高可用系统及方法
CN113157441A (zh) * 2021-03-24 2021-07-23 北京云上曲率科技有限公司 一种分布式去中心化的负载均衡方法及系统
CN113157441B (zh) * 2021-03-24 2023-03-14 北京云上曲率科技有限公司 一种分布式去中心化的负载均衡方法及系统
CN113342499A (zh) * 2021-06-29 2021-09-03 中国农业银行股份有限公司 分布式任务调用方法、装置、设备、存储介质、程序产品
CN113342499B (zh) * 2021-06-29 2024-04-30 中国农业银行股份有限公司 分布式任务调用方法、装置、设备、存储介质、程序产品

Similar Documents

Publication Publication Date Title
US7603423B2 (en) Communication system with primary device and standby device to prevent suspension of service of the system
CN104092787B (zh) 基于dns的网络访问方法和系统
CN111522650A (zh) 分布式系统的业务请求处理方法、装置及电子设备
CN105630587A (zh) 应用程序数据在终端之间迁移的方法、装置及系统
US9313650B2 (en) Communications system, mobile communications device, transition control device, transition control method, and transition control program
CN103838648A (zh) 一种终端及数据备份方法
CN109150659B (zh) 一种处理器及bfd报文传输方法
CN109756431B (zh) 混合网络配置方法、装置、网络结构及电子设备
CN110535947B (zh) 一种存储设备集群配置节点切换方法、装置及设备
CN104426816B (zh) 一种虚拟机通信方法及装置
CN108900441B (zh) 网络切换方法、第一电子设备及可读存储介质
CN111698337B (zh) 建立通信连接的方法、装置及设备
CN112600703B (zh) 网络设备远程访问故障定位方法及装置
CN103475853A (zh) 一种视频监控系统及减少云台控制延时的方法
CN109479214B (zh) 一种负载均衡的方法及相关装置
CN116709226B (zh) 通信接力方法、电子设备、通信系统及存储介质
JP2007266877A (ja) 端末切替方法およびそれを用いた端末切替装置
CN112650623B (zh) 业务系统切换过程中的数据处理方法及装置
CN110278227A (zh) 服务处理方法、装置以及电子设备
CN114585035A (zh) 一种语音通话方法、装置和计算机可读存储介质
CN103974215A (zh) 电子设备控制方法及电子设备
CN110198269B (zh) 分布式机群的路由同步系统、方法及相关装置
CN114363393A (zh) Pfd管理方法、网元及计算机可读存储介质
CN106331270A (zh) 管理联系人的号码的方法和装置
CN116069855A (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: 20200811