CN112860505A - 一种分布式集群的调控方法及装置 - Google Patents
一种分布式集群的调控方法及装置 Download PDFInfo
- Publication number
- CN112860505A CN112860505A CN201911182842.2A CN201911182842A CN112860505A CN 112860505 A CN112860505 A CN 112860505A CN 201911182842 A CN201911182842 A CN 201911182842A CN 112860505 A CN112860505 A CN 112860505A
- Authority
- CN
- China
- Prior art keywords
- service
- host
- request
- abnormal
- hosts
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3006—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3051—Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/32—Monitoring with visual or acoustical indication of the functioning of the machine
- G06F11/324—Display of status information
- G06F11/327—Alarm or error message display
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5066—Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Mathematical Physics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种分布式集群的调控方法及装置,涉及计算机技术领域。该方法的一具体实施方式包括:接收服务请求,服务请求指示了目标服务系统以及所请求的服务类型;从分布式集群中确定与目标服务系统相对应且处于正常状态的一个或多个第一主机;在确定出存在第一主机的情况下,根据第一主机中与服务类型相对应的服务接口的异常请求数,为服务请求选择异常请求数小于第一阈值的目标服务接口;其中,异常请求数指示了服务接口出现异常的历史次数;将服务请求发送给第一主机中与目标服务接口相对应的第二主机,以使第二主机通过目标服务接口提供与服务类型相对应的服务。该实施方式实现对分布式集群的细粒度监控,提高了分布式集群的系统稳定性。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种分布式集群的调控方法及装置。
背景技术
随着互联网技术的发展,日常的每秒访问量逐渐增加,分布式集群的部署方式应运而生。为了保证分布式集群的系统稳定性,需对分布式集群中实时监控,使得用户的服务请求尽快被处理。
目前,通常采用Nginx负载均衡的方式实现主机的实时监控。具体地,通过定时任务实时访问域名绑定的主机IP,并通过Ping命令访问主机,获取主机Pong反馈。当主机Pong反馈正常返回,并解析pong数据正常,则判定当前主机存活,能正常对外提供服务;如果无法获取Pong反馈或Pong反馈数据异常,则判定当前主机宕机。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:
当单位时间内接收到的服务请求量过大时,可能导致由于主机压力过大,进而导致主机的部分服务接口无法对外提供服务,但Nginx探测主机仍处于存活状态,主机反馈正常,则服务请求仍会流入当前主机的异常服务接口,从而导致服务请求失败。
发明内容
有鉴于此,本发明实施例提供一种分布式集群的调控方法,能够使得在主机处于正常状态时,将服务请求分流至能正常提供服务的服务接口,并保证处于异常状态的服务接口不会接收到服务请求,实现对分布式集群的细粒度监控,以保证服务请求可被快速成功处理。
为实现上述目的,根据本发明实施例的一个方面,提供了一种分布式集群的调控方法。
本发明实施例的一种分布式集群的调控方法,包括:接收服务请求,所述服务请求指示了目标服务系统以及所请求的服务类型;
从所述分布式集群中确定与所述目标服务系统相对应且处于正常状态的一个或多个第一主机;其中,所述分布式集群包括一个或多个服务系统,所述服务系统对应一个或多个主机,所述主机对应一个或多个用于提供服务的服务接口;
在确定出存在所述第一主机的情况下,根据所述第一主机中与所述服务类型相对应的服务接口的异常请求数,为所述服务请求选择所述异常请求数小于第一阈值的目标服务接口;其中,所述异常请求数指示了所述服务接口出现异常的历史次数;
将所述服务请求发送给所述第一主机中与所述目标服务接口相对应的第二主机,以使所述第二主机通过所述目标服务接口提供与所述服务类型相对应的服务。
可选地,该方法还包括:
获取第二主机返回的关于所述服务请求的请求结果;
在所述请求结果异常的情况下,递增所述第二主机中的所述目标服务接口的异常请求数。
可选地,所述从所述分布式集群中确定与所述目标服务系统相对应且处于正常状态的一个或多个第一主机,包括:
接收所述分布式集群中处于正常状态的主机以及所述主机对应的服务接口的配置信息,根据所述配置信息,形成所述分布式集群对应的分布图;其中,所述主机的配置信息指示了所述主机对应的服务系统;根据所述分布图,确定所述第一主机。
可选地,
当确定出的所述第一主机为多个时,采用轮询方式从多个所述第一主机中确定所述第二主机。
可选地,所述采用轮询方式从多个所述第一主机中确定所述第二主机,包括:
循环执行以下步骤,直至确定出第二主机或轮询的第一主机的数量大于第二阈值:
确定多个所述第一主机中的当前主机所对应的服务接口中,与所述服务类型相对应的服务接口的异常请求数,并判断所述异常请求数是否小于第一阈值;
如果是,将所述当前主机作为所述第二主机,并将与所述服务类型相对应的服务接口作为所述目标服务接口;
如果否,从多个所述主机中选择一个未被选择过的第一主机作为所述当前主机。
可选地,该方法还包括:
利用请求成功的历史服务请求调用所述异常请求数不小于所述第一阈值的服务接口,当调用成功时,递减所述异常请求数不小于所述第一阈值的服务接口的异常请求数;当调用失败且调用失败的次数大于第三阈值时,确定所述异常请求数不小于所述第一阈值的服务接口处于异常状态。
可选地,该方法还包括:
在不存在所述第一主机或服务接口处于异常状态的情况下,输出报警信息。
为实现上述目的,根据本发明实施例的又一方面,提供了一种分布式集群的调控装置。
本发明实施例的一种分布式集群的调控装置包括:请求接收模块、主机确定模块、接口选择模块和处理模块;其中,
所述请求接收模块,用于接收服务请求,所述服务请求指示了目标服务系统以及所请求的服务类型;
所述主机确定模块,用于从所述分布式集群中确定与所述目标服务系统相对应且处于正常状态的一个或多个第一主机;其中,所述分布式集群包括一个或多个服务系统,所述服务系统对应一个或多个主机,所述主机对应一个或多个用于提供服务的服务接口;
所述接口选择模块,用于在确定出存在所述第一主机的情况下,根据所述第一主机中与所述服务类型相对应的服务接口的异常请求数,为所述服务请求选择所述异常请求数小于第一阈值的目标服务接口;其中,所述异常请求数指示了所述服务接口出现异常的历史次数;
所述处理模块,用于将所述服务请求发送给所述第一主机中与所述目标服务接口相对应的第二主机,以使所述第二主机通过所述目标服务接口提供与所述服务类型相对应的服务。
可选地,
所述处理模块,还用于获取第二主机返回的关于所述服务请求的请求结果,在所述请求结果异常的情况下,递增所述第二主机中的所述目标服务接口的异常请求数。
可选地,该装置还包括:配置模块;其中,
所述配置模块,用于接收所述分布式集群中处于正常状态的主机以及所述主机对应的服务接口的配置信息,根据所述配置信息,形成所述分布式集群对应的分布图;其中,所述主机的配置信息指示了所述主机对应的服务系统。
为实现上述目的,根据本发明实施例的又一方面,提供了一种调控分布式集群的服务器。
本发明实施例的一种调控分布式集群的服务器包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例的一种分布式集群的调控方法。
为实现上述目的,根据本发明实施例的再一方面,提供了一种计算机可读存储介质。
本发明实施例的一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明实施例的一种分布式集群的调控方法。
上述发明中的一个实施例具有如下优点或有益效果:当接收到服务请求时,从分布式集群中确定与服务请求所指示的目标服务系统相对应的且处于正常状态的一个或多个主机,然后根据第一主机中与服务请求所指示的服务类型相对应的服务接口的异常请求数,为服务请求选择异常请求数小于第一阈值的目标服务接口,然后将服务请求发送给与目标服务接口相对应的第二主机,使得第二主机通过目标服务接口提供与服务请求相对应的服务,从而将服务请求分流至能正常提供服务的服务接口,并保证处于异常状态的服务接口不会接收到服务请求,从而使得服务请求能被成功处理。由此,根据主机和服务接口两方面的监控,保证在主机处于正常状态的情况下,能够快速感知部分服务接口出现的异常情况,解决了主机处于正常状态但服务接口出现异常而导致的服务请求失败的问题,实现了对分布式集群的细粒度监控,提高了分布式集群的系统稳定性,避免了由于未及时监控到服务系统的异常而带来的经济损失。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明实施例的一种分布式集群的调控方法的主要步骤的示意图;
图2是根据本发明实施例的一种分布式集群的调控装置的主要模块的示意图;
图3是根据本发明实施例的一种分布式集群的分布图的示意图;
图4是根据本发明实施例的另一种分布式集群的分布图的示意图;
图5是根据本发明实施例的一种分布式集群的调控方法中轮询过程的主要步骤的示意图;
图6是根据本发明实施例的一种分布式集群的调控方法中更新异常请求数的主要步骤的示意图;
图7是根据本发明实施例的另一种分布式集群的调控装置的主要模块的示意图;
图8是本发明实施例可以应用于其中的示例性系统架构图;
图9是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
需要指出的是,在不冲突的情况下,本发明的实施例以及实施例中的技术特征可以相互结合。
分布式系统的意义不仅在于可以将分布在各处的资源综合利用、将负载由单个节点转移到多个,使系统吞吐量成倍增加,而且方便进行快速扩容,保证在不可抗拒因素下保证系统的稳定性。但是当分布式集群中部分主机或某些服务接口出现问题时,定位并解决的时间也相对较长,会造成巨额损失。并且,当单位时间内接收到的服务请求量过大时,可能导致由于主机压力过大,进而导致主机的部分服务接口无法对外提供服务,但Nginx探测主机仍处于存活状态,主机反馈正常,则服务请求仍会流入当前主机的异常服务接口,从而导致服务请求失败。
为了解决上述问题,本发明实施例提供了一种分布式集群的调控方法,实现了分布式集群的细粒度化监控,在Nginx监控主机维度的基础之上进行扩展,通过分布式锁的形式,实现对分布式集群主机的高效监控。并且提供服务接口维度的监控,解决当前主机存活但服务接口异常而造成的经济损失。通过对主机存活监控和服务接口异常捕获双重监控,保证在主机正常的情况下,部分接口出现异常情况,系统能够快速感知。并且本发明会依赖双重监控的基础,当接口服务发生异常超过指定次数时,会迅速感知,快速进行分流,保证当前异常的接口服务不会在接收任何请求。
具体地,如图1所示,本发明实施例的一种分布式集群的调控方法主要包括以下步骤:
步骤S101:接收服务请求,所述服务请求指示了目标服务系统以及所请求的服务类型。
本发明实施例提供的一种分布式集群的调控方法可以根据如图2所示的调控装置实现,该调控装置可以包括:资源配置模块、流控网关、负载均衡模块和消息报警模块。其中,资源配置模块可用于对分布式集群中的服务系统、以及服务系统对应的主机、主机对应的服务接口进行统一管理,并形成关于服务系统、主机以及服务接口的分布图。负载均衡模块可根据资源配置模块的订阅消息实时同步数据,将分布式集群对应的分布图更新到本地内存中,并且在接收到流控网关的请求时,根据内存数据中存储的分布图向流控网关返回相应的主机IP地址列表。流控网关可根据负载均衡模块返回的主机IP地址列表整合服务信息,并对外提供接口服务。消息报警模块可在系统出现异常状态时及时报警,以提示运维人员尽快处理。以上各个模块的功能及其实现方式将在以下实施例中进行进一步阐述。
资源配置模块可接收所述分布式集群中处于正常状态的主机以及所述主机对应的服务接口的配置信息,根据所述配置信息,形成所述分布式集群对应的分布图;其中,所述主机的配置信息指示了所述主机对应的服务系统。例如,主机将自身的IP作为配置信息发送给资源配置模块,以使资源配置模块根据主机IP形成相应的分布图。
具体地,资源配置模块可以通过Zookeeper分布式架构进行支持,采用Znode临时节点的方式,将分布式集群中多个服务系统分别对应的主机IP、以及多个主机分别对应的多个服务接口的信息存放在Znode中,形成分布式集群的分布图,该分布图呈如图3所示的树形数据结构,以通过分布式锁的形式,实现对分布式集群的高效监控。
可以理解的是,能与资源配置模块建立长链接的主机即为处于正常状态的主机。
如图3所示,每个服务系统对应有一个或多个主机,资源配置模块中,服务系统作为父节点,绑定其对应的主机IP作为子节点。当主机与资源配置模块建立长链接后,主机IP即注册完成。然后可遍历已注册的主机提供的所有服务接口的信息,以将主机所对应的一个或多个服务接口注册到资源配置模块。服务接口注册到资源配置模块时,在其对应的主机IP的临时节点下注册服务接口数据,则服务接口作为相应主机IP的子节点。在服务接口注册到相应主机IP时,将初始化其对应的异常请求数,初始化的异常请求数一般设置为0。
以一具体的电商平台的库存服务系统为例,如图4所示,该库存服务系统作为父节点,其下注册有A主机IP和B主机IP,A主机IP下注册有用于提供产品名称的服务接口和用于提供产品图片的服务接口,两个服务接口的初始异常请求数均为0。
其中,ZooKeeper是开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。ZooKeeper以一种类似于文件系统的树形数据结构实现名称空间。名称空间中的每个节点都是一个znode。znode和文件系统的路径不一样,在文件系统中,路径只是一个名称,不包含数据。而znode不仅是一个路径,还携带数据。
在部署分布式集群时,分布式集群中各个服务系统所对应的主机会和资源配置模块建立长链接,并且各个主机将主机IP和服务接口相关的信息,通过临时节点的方式注册到资源配置模式中。当主机出现宕机时,也就是主机处于异常状态时,主机会断开与资源配置模块的长链接,临时节点会自动消失。相应地,资源配置模块中的分布图也会相应更新,即从分布图中删除处于异常状态的主机IP。临时节点消失后,Zookeeper通过订阅模式告知流控网关、负载均衡模块、消息报警模块出现异常的主机所对应的临时节点消失,也就是说,当主机处于异常状态时,资源配置模块将相应的异常消息推送给流控网关、负载均衡模块和消息报警模块,此时负载均衡模块可根据资源配置模块的订阅消息,实时更新内存中存储的分布图,更新后的分布图中不存在处于异常状态的主机IP。
可以理解的是,在资源配置模块注册服务系统、主机和服务接口的操作可在部署分布式集群时进行,在分布式集群完成部署后,可通过流控网关接收服务请求,服务请求中包括目标服务系统的域名,以指示提供目标服务的目标服务系统,并指示所请求的服务类型,例如指示所请求的服务类型为提供产品名称或提供产品图片。
步骤S102:从所述分布式集群中确定与所述目标服务系统相对应且处于正常状态的一个或多个第一主机;其中,所述分布式集群包括一个或多个服务系统,所述服务系统对应一个或多个主机,所述主机对应一个或多个用于提供服务的服务接口。
流控网关在接收到服务请求时,解析出服务请求的域名以确定服务请求所指示的目标服务系统,并解析出与服务类型对应的服务接口相关的信息。然后根据服务请求发送负载请求,以根据服务请求所指示的目标服务系统向负载均衡模块请求相应的主机列表,负载均衡模块根据流控网关的请求,读取内存数据,以根据分布式集群对应的分布图遍历服务请求所指示的目标服务系统对应的父节点下各个第一主机IP,生成第一主机IP列表,并将第一主机IP列表反馈给流控网关。
值得一提的是,与资源配置模块保持长链接的主机为处于正常状态的主机,而负载均衡模块的内存数据是根据资源配置模块的订阅消息来更新的,因此负载均衡模块生成的第一主机IP列表中,各个第一主机IP所对应的第一主机均为处于正常状态的主机。
步骤S103:在确定出存在所述第一主机的情况下,根据所述第一主机中与所述服务类型相对应的服务接口的异常请求数,为所述服务请求选择所述异常请求数小于第一阈值的目标服务接口。
步骤S104:将所述服务请求发送给所述第一主机中与所述目标服务接口相对应的第二主机,以使所述第二主机通过所述目标服务接口提供与所述服务类型相对应的服务;其中,所述异常请求数指示了所述服务接口出现异常的历史次数。
流控网关在接收到负载均衡模块反馈的第一主机IP列表后,首先判断第一主机IP列表是否为空,如果为空,则说明服务请求所指示的目标服务系统下,没有处于正常状态的第一主机或者所有第一主机全部闸机,也就是没有可以提供服务的第一主机,此时流控网关通知消息报警模块,使得消息报警模块迅速发出报警信息,以提示运维人员迅速处理异常情况,尽可能减少异常状态所造成的经济损失。
另外,当第一主机IP列表不为空时,说明存在处于正常状态的第一主机,也就是存在可提供服务的第一主机。当可提供服务的第一主机仅为一个时,确定该第一主机中与服务请求所指示的服务类型相对应的服务接口的异常请求数是否小于第一阈值,如果是,则将服务请求发送给此唯一的第一主机,使得该第一主机通过异常请求数小于第一阈值的目标服务接口提供服务请求所请求的服务。当唯一的第一主机中的服务接口的异常请求数不小于第一阈值时,流控网关可通知消息报警模块进行报警。
另外,当第一主机IP列表中存在多个第一主机IP时,说明处于正常状态的第一主机为多个,此时可采用轮询方式从多个第一主机中确定能根据服务请求提供服务的第二主机。例如,可采用逐个轮询或者权重轮询的方式确定第二主机。具体地,可循环执行以下步骤,直至确定出第二主机或轮询的第一主机的数量大于第二阈值:确定多个所述第一主机中的当前主机所对应的服务接口中,与所述服务类型相对应的服务接口的异常请求数,并判断所述异常请求数是否小于第一阈值;如果是,将所述当前主机作为所述第二主机,并将与所述服务类型相对应的服务接口作为所述目标服务接口;如果否,从多个所述主机中选择一个未被选择过的第一主机作为所述当前主机。
在这里,当处于正常状态的第一主机为多个时,流控网关可通过取模算法轮询或者权重轮询的方式,命中多个第一主机中的当前主机(当前主机可以为多个第一主机中的任一个),然后流控网关通过读取资源配置模块同步的数据,从分布式集群对应的分布图中找到当前主机对应的主机IP的父节点,接着确定该主机IP父节点下,与服务请求指示的服务类型相对应的服务接口,并通过获取服务接口的名称信息确定与服务请求对应的服务接口,并根据服务接口的子节点信息确定服务接口的异常请求数。
例如,当分布式集群的分布图为图4所示的树形架构时,服务请求指示的目标服务系统为库存系统且服务请求指示的服务类型为获取产品图片时,负载均衡模块返回给流控网关的第一主机IP列表包含A主机IP和B主机IP,则可首先将A主机作为当前主机,然后确定A主机下的产品图片接口作为与服务请求对应的服务接口,并根据图4所示的树形结构,得知该服务接口(产品图片接口)的异常请求数为0,而第一阈值为大于0的数值,例如,第一阈值为3时,产品图片接口的异常请求数小于第一阈值,则可将服务请求发送给A主机,使得A主机通过产品图片接口为用户提供相应服务。
在此例中,若A主机下的产品图片接口的异常请求数不小于第一阈值时,说明当前主机中与服务请求对应的服务接口已出现异常,无法对外提供服务,此时流控网关会通过逐个轮询或者权重轮询算法重新命中第一主机IP列表中未被选择过的第一主机作为当前主机,比如在此例中,重新命中B主机,将B主机作为当前主机,并查询B主机下的服务接口是否存在与服务请求对应的服务接口且该服务接口的异常请求数小于第一阈值。以此循环,直至从多个第一主机中确定能根据服务请求提供服务的第二主机或者轮询的第一主机的数量大于第二阈值时,停止轮询。另外,当当前主机下不存在与服务类型对应的服务接口时,流控网关也将从多个所述主机中重新选择一个未被选择过的第一主机作为当前主机,继续轮询。
其中,第二阈值的数量可根据第一主机IP列表中的第一主机的数量来确定,例如,将第一主机IP列表中的第一主机的数量的一半确定为第二阈值。则当轮询完多个第一主机中超半数的第一主机时,仍未确定出能根据服务请求提供服务的第二主机,说明分布式集群可能出现了异常,则为了缩短响应时长并对集群进行及时维护,停止轮询并通知消息报警模块进行报警。
下面参考图5,对流控网关接收服务请求,并为服务请求选择提供服务的第二主机的过程进行详细说明,如图5所示,该过程可包括以下步骤:
步骤S501:接收服务请求,根据服务请求指示的目标服务系统,向负载均衡模块请求主机IP列表。
步骤S502:接收负载均衡模块反馈的主机IP列表。
步骤S503:判断主机IP列表是否为空,如果是,执行步骤S504,否则执行步骤S505。
步骤S504:通知消息报警模块进行报警,并结束当前流程。
步骤S505:从主机IP列表对应的第一主机中选择当前主机。
步骤S506:确定当前主机所对应的服务接口中,与服务请求所指示的服务类型相对应的服务接口的异常请求数。
步骤S507:判断异常请求数是否小于第一阈值,如果是,执行步骤S508,否则执行步骤S509。
步骤S508:将当前主机作为为服务请求提供服务的第二主机,并结束当前流程。
步骤S509:判断主机IP列表对应的第一主机中是否存在未被选择过的主机,如果是,执行步骤S510,否则结束当前流程。
步骤S510:判断被选择过的第一主机的数量是否大于第二阈值,如果是,结束当前流程,否则执行步骤S511。
步骤S511:从主机IP列表对应的第一主机中选择一个未被选择过的主机作为当前主机,并执行步骤S506。
在确定出为服务请求提供服务的第二主机之后,可将所述服务请求发送给第二主机,以使所述第二主机通过异常请求数小于第一阈值的目标服务接口提供与所述服务类型相对应的服务。然后获取第二主机返回的关于所述服务请求的请求结果;在所述请求结果异常的情况下,递增所述第二主机中的所述目标服务接口的异常请求数。
当确定出可正常提供服务的目标服务接口之后,流控网关可向该目标服务接口对应的第二主机转发服务请求,以获得第二主机对服务请求的请求结果。如果请求结果为正常,代表用户的服务请求已请求成功,如果请求结果为异常,则说明目标服务接口出现异常,则流控网关会更新资源配置模块中相关服务接口的异常请求数,具体地,流控网关将资源配置模块中目标服务接口的异常请求数+1。
也就是说,当判断出第一主机中目标服务接口的异常请求数小于第一阈值之后,本发明实施例提供的分布式集群的调控方法还可以包括如图6所示的步骤,以下步骤可由流控网关执行。
步骤S601:将服务请求发送给目标服务接口对应的第二主机。
步骤S602:接收第二主机对于服务请求的请求结果。
步骤S603:判断请求结果是否正常,如果是,结束当前流程,否则执行步骤S604;
步骤S604:递增所述目标服务接口的异常请求数。
在本发明实施方式中,递增目标服务接口的异常请求数即将其异常请求数+1。可以理解的是,每个服务接口在注册到资源配置中心时,由于异常请求数指示的是所述服务接口出现异常的历史次数,则每个服务接口初始的异常请求数为0,在服务系统运行过程中,服务接口出现异常后,其异常请求数递增。
另外,当主机未与资源配置模块断开连接,资源配置模块中主机对应的临时节点未消失时,说明主机处于正常状态,若此时此主机下的服务接口的异常请求数不小于第一阈值,流控网关会进行服务接口的存活校验。在进行存活校验时,利用请求成功的历史服务请求调用所述异常请求数不小于所述第一阈值的服务接口,当调用成功时,递减所述异常请求数不小于所述第一阈值的服务接口的异常请求数;当调用失败且调用失败的次数大于第三阈值时,确定所述异常请求数不小于所述第一阈值的服务接口处于异常状态。
例如,捕获一条能正常调用其他服务接口的历史服务请求,并利用该历史服务请求定时调用异常请求数不小于第一阈值的服务接口(以下简称异常服务接口),如果异常服务接口返回正常的请求结果,则判定该异常服务接口能正常提供服务,此前递增的异常请求数可能是由于系统误判,如由于服务请求的数据异常所产生的误判,此时将异常服务接口的异常请求数减1,以实现对服务接口的准确监控。
若异常服务接口返回的请求结果为异常或者历史服务请求对异常服务接口调用失败,会根据定时任务设置的周期,再次调用异常服务接口,若调用仍然失败或者异常服务接口返回的请求结果为异常,并且失败或异常的次数大于第三阈值时(例如大于2次时),则表示该异常服务接口无法正常提供服务,流控网关判定该异常服务接口死亡,此时流控网关通知消息报警模块进行报警。
综上所述,本发明实施例提供的分布式集群调控方法中,可监控以下三种异常请求:
1、当主机闸机(处于异常状态),主机和资源配置模块长链接断开,主机对应的临时数据节点消失,则负载均衡模块向流控网关返回的第一主机IP列表不会再获取到已闸机主机的IP地址,保证流控网关无法命中已闸机的主机,使得处于异常状态的主机不会再接收到任何服务请求。
2、所有接入分布式集群调控装置的服务系统,都需要通过Spring Aop的方式,将资源配置模块注入到系统中。分布式集群调控装置通过Spring Aop中异常切面方法配置需要监控的路径。如果服务接口发生异常,分布式集群调控装置会更新资源配置模块中,当前服务接口节点的异常请求数加1。
3、当流控网关向主机发送服务请求,通过请求结果(如返回码code)判断服务请求是否成功,如果不成功,则更新服务接口的异常请求数。
根据本发明实施例的分布式集群的调控方法可以看出,当接收到服务请求时,从分布式集群中确定与服务请求所指示的目标服务系统相对应的且处于正常状态的一个或多个主机,然后根据第一主机中与服务请求所指示的服务类型相对应的服务接口的异常请求数,为服务请求选择异常请求数小于第一阈值的目标服务接口,然后将服务请求发送给与目标服务接口相对应的第二主机,使得第二主机通过目标服务接口提供与服务请求相对应的服务,从而将服务请求分流至能正常提供服务的服务接口,并保证处于异常状态的服务接口不会接收到服务请求,从而使得服务请求能被成功处理。由此,根据主机和服务接口两方面的监控,保证在主机处于正常状态的情况下,能够快速感知部分服务接口出现的异常情况,解决了主机处于正常状态但服务接口出现异常而导致的服务请求失败的问题,实现了对分布式集群的细粒度监控,提高了分布式集群的系统稳定性,避免了由于未及时监控到服务系统的异常而带来的经济损失。
图7是根据本发明实施例的一种分布式集群的调控装置的主要模块的示意图。
如图7所示,本发明实施例的一种分布式集群的调控装置700包括:请求接收模块701、主机确定模块702、接口选择模块703和处理模块704;其中,
所述请求接收模块701,用于接收服务请求,所述服务请求指示了目标服务系统以及所请求的服务类型;
所述主机确定模块702,用于从所述分布式集群中确定与所述目标服务系统相对应且处于正常状态的一个或多个第一主机;其中,所述分布式集群包括一个或多个服务系统,所述服务系统对应一个或多个主机,所述主机对应一个或多个用于提供服务的服务接口;
所述接口选择模块703,用于在确定出存在所述第一主机的情况下,根据所述第一主机中与所述服务类型相对应的服务接口的异常请求数,为所述服务请求选择所述异常请求数小于第一阈值的目标服务接口;其中,所述异常请求数指示了所述服务接口出现异常的历史次数;
所述处理模块704,用于将所述服务请求发送给所述第一主机中与所述目标服务接口相对应的第二主机,以使所述第二主机通过所述目标服务接口提供与所述服务类型相对应的服务。
在本发明一个实施例中,所述处理模块704,还用于获取第二主机返回的关于所述服务请求的请求结果,在所述请求结果异常的情况下,递增所述第二主机中的所述目标服务接口的异常请求数。
继续参考图7,在本发明一个实施例中,该调控装置还包括:配置模705;其中,
所述配置模块705,用于接收所述分布式集群中处于正常状态的主机以及所述主机对应的服务接口的配置信息,根据所述配置信息,形成所述分布式集群对应的分布图;其中,所述主机的配置信息指示了所述主机对应的服务系统。
在本发明一个实施例中,所述主机确定模块702,用于当确定出的所述第一主机为多个时,采用轮询方式从多个所述第一主机中确定所述第二主机。
在本发明一个实施例中,所述主机确定模块702,用于循环执行以下步骤,直至确定出第二主机或轮询的第一主机的数量大于第二阈值:确定多个所述第一主机中的当前主机所对应的服务接口中,与所述服务类型相对应的服务接口的异常请求数,并判断所述异常请求数是否小于第一阈值;如果是,将所述当前主机作为所述第二主机,并将与所述服务类型相对应的服务接口作为所述目标服务接口;如果否,从多个所述主机中选择一个未被选择过的第一主机作为所述当前主机。
在本发明一个实施例中,所述处理模块704,还用于利用请求成功的历史服务请求调用所述异常请求数不小于所述第一阈值的服务接口,当调用成功时,递减所述异常请求数不小于所述第一阈值的服务接口的异常请求数;当调用失败且调用失败的次数大于第三阈值时,确定所述异常请求数不小于所述第一阈值的服务接口处于异常状态。
如图7所示,在本发明一个实施例中,该调控装置还包括报警模块706,其中,所述报警模块706,用于在不存在所述第一主机或服务接口处于异常状态的情况下,输出报警信息。
综上,本发明以上各个实施例至少具有如下有益效果:
1、解决了现有方式中,主机处于正常状态但服务接口异常的问题,本发明实施例通过AOP注入进行异常切面监控,实现了由于代码存在问题、中间件网络异常等问题造成的请求失败的异常捕获,通过请求结果和返回码兼容主机服务接口的业务逻辑异常,通过分布式锁临时节点的方式监控主机IP存活状态。由此解决了现有技术中只对主机进行监控而导致的无法进行细粒度监控的问题。
2、本发明实施例通过流控网关对于服务接口的异常请求数的校验,进行主机重新命中的方式,保证异常的服务接口不再提供服务,通过Zookeeper订阅的方式,当服务接口的异常请求数不小于第一阈值时,调控装置会迅速进行反馈和分流。解决了现有技术中监控系统监控到错误后仅进行报警而导致的至运维人员处理异常结束过程中带来的损失。
图8示出了可以应用本发明实施例的分布式集群的调控方法或分布式集群的调控的装置的示例性系统架构800。
如图8所示,系统架构800可以包括终端设备801、802、803,网络804和服务器805。网络804用以在终端设备801、802、803和服务器805之间提供通信链路的介质。网络804可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备801、802、803通过网络804与服务器805交互,以接收或发送消息等。终端设备801、802、803上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端设备801、802、803可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器805可以是提供各种服务的服务器,例如对用户利用终端设备801、802、803所浏览的购物类网站提供支持的后台管理服务器。后台管理服务器可以对接收到的产品信息查询请求等数据进行分析等处理,并将处理结果(例如目标推送信息、产品信息)反馈给终端设备。
需要说明的是,本发明实施例所提供的分布式集群的调控方法一般由服务器805执行,相应地,分布式集群的调控装置一般设置于服务器805中。
应该理解,图8中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
下面参考图9,其示出了适于用来实现本发明实施例的终端设备的计算机系统900的结构示意图。图9示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图9所示,计算机系统900包括中央处理单元(CPU)901,其可以根据存储在只读存储器(ROM)902中的程序或者从存储部分908加载到随机访问存储器(RAM)903中的程序而执行各种适当的动作和处理。在RAM 903中,还存储有系统900操作所需的各种程序和数据。CPU 901、ROM 902以及RAM 903通过总线904彼此相连。输入/输出(I/O)接口905也连接至总线904。
以下部件连接至I/O接口905:包括键盘、鼠标等的输入部分906;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分907;包括硬盘等的存储部分908;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分909。通信部分909经由诸如因特网的网络执行通信处理。驱动器910也根据需要连接至I/O接口905。可拆卸介质911,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器910上,以便于从其上读出的计算机程序根据需要被安装入存储部分908。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分909从网络上被下载和安装,和/或从可拆卸介质911被安装。在该计算机程序被中央处理单元(CPU)901执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括请求接收模块、主机确定模块、接口选择模块和处理模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,请求接收模块还可以被描述为“接收服务请求的模块”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:接收服务请求,所述服务请求指示了目标服务系统以及所请求的服务类型;从所述分布式集群中确定与所述目标服务系统相对应且处于正常状态的一个或多个第一主机;其中,所述分布式集群包括一个或多个服务系统,所述服务系统对应一个或多个主机,所述主机对应一个或多个用于提供服务的服务接口;在确定出存在所述第一主机的情况下,根据所述第一主机中与所述服务类型相对应的服务接口的异常请求数,为所述服务请求选择所述异常请求数小于第一阈值的目标服务接口;其中,所述异常请求数指示了所述服务接口出现异常的历史次数;将所述服务请求发送给所述第一主机中与所述目标服务接口相对应的第二主机,以使所述第二主机通过所述目标服务接口提供与所述服务类型相对应的服务。
根据本发明实施例的技术方案,当接收到服务请求时,从分布式集群中确定与服务请求所指示的目标服务系统相对应的且处于正常状态的一个或多个主机,然后根据第一主机中与服务请求所指示的服务类型相对应的服务接口的异常请求数,为服务请求选择异常请求数小于第一阈值的目标服务接口,然后将服务请求发送给与目标服务接口相对应的第二主机,使得第二主机通过目标服务接口提供与服务请求相对应的服务,从而将服务请求分流至能正常提供服务的服务接口,并保证处于异常状态的服务接口不会接收到服务请求,从而使得服务请求能被成功处理。由此,根据主机和服务接口两方面的监控,保证在主机处于正常状态的情况下,能够快速感知部分服务接口出现的异常情况,解决了主机处于正常状态但服务接口出现异常而导致的服务请求失败的问题,实现了对分布式集群的细粒度监控,提高了分布式集群的系统稳定性,避免了由于未及时监控到服务系统的异常而带来的经济损失。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (12)
1.一种分布式集群的调控方法,其特征在于,
接收服务请求,所述服务请求指示了目标服务系统以及所请求的服务类型;
从所述分布式集群中确定与所述目标服务系统相对应且处于正常状态的一个或多个第一主机;其中,所述分布式集群包括一个或多个服务系统,所述服务系统对应一个或多个主机,所述主机对应一个或多个用于提供服务的服务接口;
在确定出存在所述第一主机的情况下,根据所述第一主机中与所述服务类型相对应的服务接口的异常请求数,为所述服务请求选择所述异常请求数小于第一阈值的目标服务接口;其中,所述异常请求数指示了所述服务接口出现异常的历史次数;
将所述服务请求发送给所述第一主机中与所述目标服务接口相对应的第二主机,以使所述第二主机通过所述目标服务接口提供与所述服务类型相对应的服务。
2.根据权利要求1所述的方法,其特征在于,还包括:
获取第二主机返回的关于所述服务请求的请求结果;
在所述请求结果异常的情况下,递增所述第二主机中的所述目标服务接口的异常请求数。
3.根据权利要求1所述的方法,其特征在于,所述从所述分布式集群中确定与所述目标服务系统相对应且处于正常状态的一个或多个第一主机,包括:
接收所述分布式集群中处于正常状态的主机以及所述主机对应的服务接口的配置信息,根据所述配置信息,形成所述分布式集群对应的分布图;其中,所述主机的配置信息指示了所述主机对应的服务系统;
根据所述分布图,确定所述第一主机。
4.根据权利要求1所述的方法,其特征在于,
当确定出的所述第一主机为多个时,采用轮询方式从多个所述第一主机中确定所述第二主机。
5.根据权利要求4所述的方法,其特征在于,所述采用轮询方式从多个所述第一主机中确定所述第二主机,包括:
循环执行以下步骤,直至确定出第二主机或轮询的第一主机的数量大于第二阈值:
确定多个所述第一主机中的当前主机所对应的服务接口中,与所述服务类型相对应的服务接口的异常请求数,并判断所述异常请求数是否小于第一阈值;
如果是,将所述当前主机作为所述第二主机,并将与所述服务类型相对应的服务接口作为所述目标服务接口;
如果否,从多个所述主机中选择一个未被选择过的第一主机作为所述当前主机。
6.根据权利要求1所述的方法,其特征在于,还包括:
利用请求成功的历史服务请求调用所述异常请求数不小于所述第一阈值的服务接口,当调用成功时,递减所述异常请求数不小于所述第一阈值的服务接口的异常请求数;当调用失败且调用失败的次数大于第三阈值时,确定所述异常请求数不小于所述第一阈值的服务接口处于异常状态。
7.根据权利要求1至6任一所述的方法,其特征在于,还包括:
在不存在所述第一主机或服务接口处于异常状态的情况下,输出报警信息。
8.一种分布式集群的调控装置,其特征在于,包括:请求接收模块、主机确定模块、接口选择模块和处理模块;其中,
所述请求接收模块,用于接收服务请求,所述服务请求指示了目标服务系统以及所请求的服务类型;
所述主机确定模块,用于从所述分布式集群中确定与所述目标服务系统相对应且处于正常状态的一个或多个第一主机;其中,所述分布式集群包括一个或多个服务系统,所述服务系统对应一个或多个主机,所述主机对应一个或多个用于提供服务的服务接口;
所述接口选择模块,用于在确定出存在所述第一主机的情况下,根据所述第一主机中与所述服务类型相对应的服务接口的异常请求数,为所述服务请求选择所述异常请求数小于第一阈值的目标服务接口;其中,所述异常请求数指示了所述服务接口出现异常的历史次数;
所述处理模块,用于将所述服务请求发送给所述第一主机中与所述目标服务接口相对应的第二主机,以使所述第二主机通过所述目标服务接口提供与所述服务类型相对应的服务。
9.根据权利要求8所述的装置,其特征在于,
所述处理模块,还用于获取第二主机返回的关于所述服务请求的请求结果,在所述请求结果异常的情况下,递增所述第二主机中的所述目标服务接口的异常请求数。
10.根据权利要求8所述的装置,其特征在于,还包括:配置模块;其中,
所述配置模块,用于接收所述分布式集群中处于正常状态的主机以及所述主机对应的服务接口的配置信息,根据所述配置信息,形成所述分布式集群对应的分布图;其中,所述主机的配置信息指示了所述主机对应的服务系统。
11.一种服务器,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的方法。
12.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-7中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911182842.2A CN112860505A (zh) | 2019-11-27 | 2019-11-27 | 一种分布式集群的调控方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911182842.2A CN112860505A (zh) | 2019-11-27 | 2019-11-27 | 一种分布式集群的调控方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112860505A true CN112860505A (zh) | 2021-05-28 |
Family
ID=75985700
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911182842.2A Pending CN112860505A (zh) | 2019-11-27 | 2019-11-27 | 一种分布式集群的调控方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112860505A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114615284A (zh) * | 2022-03-09 | 2022-06-10 | 北京沃东天骏信息技术有限公司 | 集群内消息通知方法、接收方法及装置 |
-
2019
- 2019-11-27 CN CN201911182842.2A patent/CN112860505A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114615284A (zh) * | 2022-03-09 | 2022-06-10 | 北京沃东天骏信息技术有限公司 | 集群内消息通知方法、接收方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9270521B2 (en) | Provisioning and managing a cluster deployed on a cloud | |
CN108696581B (zh) | 分布式信息的缓存方法、装置、计算机设备以及存储介质 | |
CN112860451A (zh) | 一种基于SaaS的多租户数据处理方法和装置 | |
EP3117590A1 (en) | Computer system to support failover in an event stream processing system | |
CN109783151B (zh) | 规则变更的方法和装置 | |
CN113517985B (zh) | 文件数据处理方法、装置、电子设备及计算机可读介质 | |
CN111478781B (zh) | 一种消息广播的方法和装置 | |
CN110351366A (zh) | 一种互联网应用的服务调度方法、系统及计算机可读存储介质 | |
CN111767157B (zh) | 基于服务网格的请求处理方法和装置 | |
CN111181765A (zh) | 一种任务处理方法和装置 | |
CN110659124A (zh) | 一种消息处理方法和装置 | |
CN110798495B (zh) | 用于在集群架构模式下端到端的消息推送的方法和服务器 | |
CN116932505A (zh) | 一种数据查询方法、数据写入方法、相关装置和系统 | |
CN113079098B (zh) | 路由更新的方法、装置、设备和计算机可读介质 | |
CN110324384B (zh) | 数据推送的方法和装置 | |
CN110620722B (zh) | 一种订单处理的方法和装置 | |
CN112860505A (zh) | 一种分布式集群的调控方法及装置 | |
US11381665B2 (en) | Tracking client sessions in publish and subscribe systems using a shared repository | |
CN106657195B (zh) | 任务处理方法和中继设备 | |
CN110247847B (zh) | 节点之间回源选路的方法和装置 | |
CN109284177B (zh) | 一种数据更新方法和装置 | |
CN110909269B (zh) | 一种日志上报的方法和装置 | |
CN109831385B (zh) | 一种消息处理方法、装置及电子设备 | |
CN113259431B (zh) | 服务调用方法、服务调用装置、电子设备以及存储介质 | |
US11526499B2 (en) | Adaptively updating databases of publish and subscribe systems using optimistic updates |
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 |