CN109542641A - 服务调用方法、装置及*** - Google Patents
服务调用方法、装置及*** Download PDFInfo
- Publication number
- CN109542641A CN109542641A CN201811353235.3A CN201811353235A CN109542641A CN 109542641 A CN109542641 A CN 109542641A CN 201811353235 A CN201811353235 A CN 201811353235A CN 109542641 A CN109542641 A CN 109542641A
- Authority
- CN
- China
- Prior art keywords
- service
- address list
- service provider
- address
- destination
- 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
Classifications
-
- 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/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供一种服务调用方法、装置及***,该方法,包括:根据目标服务所对应的服务标识,确定与所述目标服务对应的分片地址列表;所述分片地址列表中的每个地址所对应的服务提供方用于提供所述目标服务,且每一类服务标识对应一个分片地址列表;基于负载均衡算法从所述分片地址列表中选择一个目标服务提供方;向所述目标服务提供方发送服务调用请求。从而可以缩短了服务请求的调用链路,提升服务请求的调用效率。
Description
技术领域
本发明涉及网络技术领域,尤其涉及一种服务调用方法、装置及***。
背景技术
随着互联网技术的发展,网站应用的规模也在不断扩大。为了满足日益增长的服务需求,工程师们提出了分布式服务架构、流动计算架构等方案。
Dubbo是一个分布式服务框架,其应用远程调用协议(Remote Procedure CallProtocol,RPC)实现远程服务调用和服务管理。Dubbo的核心部分包含三个方面的功能:1)提供对多种基于长连接的非阻塞式输入输出(Non-blocking Input Output,NIO)框架抽象封装,包括多种线程模型,序列化,以及“请求-响应”模式的信息交换方式;2)提供基于接口方法的透明远程过程调用,包括多协议支持,以及软负载均衡,失败容错,地址路由,动态配置等集群支持;3)基于注册中心目录服务,使服务消费方能动态的查找服务提供方,使地址透明,使服务提供方可以平滑增加或减少机器。
但是,将Dubbo应用在使用同一套业务代码的电子商务***时,由于Dubbo只能进行统一部署,因此会使得电子商务***的架构比较复杂,服务消费方发起的服务请求需要经过很长的调用链路才能找到服务提供方,调用效率低下。当服务提供方的业务***出现异常时,统一部署的电子商务***会一直等待该服务提供方所在业务***的反馈,从而导致服务请求的积压,甚至出现电子商务***宕机的情况。
发明内容
本发明提供一种服务调用方法、装置及***,以缩短服务请求的调用链路,提升服务请求的调用效率。
第一方面,本发明实施例提供一种服务调用方法,包括:
根据目标服务所对应的服务标识,确定与所述目标服务对应的分片地址列表;所述分片地址列表中的每个地址所对应的服务提供方用于提供所述目标服务,且每一类服务标识对应一个分片地址列表;
基于负载均衡算法从所述分片地址列表中选择一个目标服务提供方;
向所述目标服务提供方发送服务调用请求。
可选地,在根据目标服务所对应的服务标识,确定与所述目标服务对应的分片地址列表之前,还包括:
接收注册中心发送的地址列表;其中,所述地址列表中存储有已注册的服务提供方所对应的地址;所述地址列表中的地址是根据服务提供方在注册时发送的服务标识进行分类存储的。
可选地,在接收注册中心发送的地址列表之前,还包括:
向注册中心发送服务订阅请求,所述服务订阅请求中包含有所述目标服务所对应的服务标识。
可选地,还包括:
接收注册中心发送的更新后的地址列表。
可选地,在向所述目标服务提供方发送服务调用请求之后,还包括:
接收所述目标服务提供方反馈的响应信号;
若在预设的时间段内,未接收到所述目标服务提供方反馈的响应信号,则从所述分片地址列表中重新选择一个服务提供方作为新的目标服务提供方;
向所述新的目标服务提供方发送服务调用请求。
第二方面,本发明实施例提供一种服务调用方法,包括:
接收服务消费方发送的服务调用请求;
若同意所述服务调用请求,则在预设的时间段内,向所述服务消费方反馈的响应信号。
可选地,在接收服务消费方发送的服务调用请求之前,还包括:
向注册中心发送服务注册请求,所述服务注册请求中包含有服务标识,以及与所述服务标识对应的服务提供方的地址。
第三方面,本发明实施例提供一种服务调用方法,包括:
接收服务消费方发送的服务订阅请求;
向所述服务消费方发送地址列表,其中,所述地址列表中存储有已注册的服务提供方所对应的地址;所述地址列表中的地址是根据服务提供方在注册时发送的服务标识进行分类存储的;每一类服务标识对应一个分片地址列表。
可选地,还包括:
接收服务提供方发送的服务注册请求,所述服务注册请求中包含有服务标识,以及与所述服务标识对应的服务提供方的地址。
可选地,还包括:
向服务消费方发送的更新后的地址列表。
第四方面,本发明实施例提供一种服务调用装置,包括:
确定模块,用于根据目标服务所对应的服务标识,确定与所述目标服务对应的分片地址列表;所述分片地址列表中的每个地址所对应的服务提供方用于提供所述目标服务,且每一类服务标识对应一个分片地址列表;
选择模块,用于基于负载均衡算法从所述分片地址列表中选择一个目标服务提供方;
发送模块,用于向所述目标服务提供方发送服务调用请求。
可选地,还包括:
接收模块,用于在根据目标服务所对应的服务标识,确定与所述目标服务对应的分片地址列表之前,接收注册中心发送的地址列表;其中,所述地址列表中存储有已注册的服务提供方所对应的地址;所述地址列表中的地址是根据服务提供方在注册时发送的服务标识进行分类存储的。
可选地,所述发送模块,还用于在接收注册中心发送的地址列表之前,向注册中心发送服务订阅请求,所述服务订阅请求中包含有所述目标服务所对应的服务标识。
可选地,所述接收模块,还用于:
接收注册中心发送的更新后的地址列表。
可选地,所述选择模块,还用于在向所述目标服务提供方发送服务调用请求之后,接收所述目标服务提供方反馈的响应信号;
若在预设的时间段内,未接收到所述目标服务提供方反馈的响应信号,则从所述分片地址列表中重新选择一个服务提供方作为新的目标服务提供方;
向所述新的目标服务提供方发送服务调用请求。
第五方面,本发明实施例提供一种服务调用装置,包括:
接收模块,用于接收服务消费方发送的服务调用请求;
反馈模块,用于在同意所述服务调用请求时,在预设的时间段内,向所述服务消费方反馈的响应信号。
可选地,还包括:
发送模块,用于在接收服务消费方发送的服务调用请求之前,向注册中心发送服务注册请求,所述服务注册请求中包含有服务标识,以及与所述服务标识对应的服务提供方的地址。
第六方面,本发明实施例提供一种服务调用装置,包括:
接收模块,用于接收服务消费方发送的服务订阅请求;
发送模块,用于向所述服务消费方发送地址列表,其中,所述地址列表中存储有已注册的服务提供方所对应的地址;所述地址列表中的地址是根据服务提供方在注册时发送的服务标识进行分类存储的;每一类服务标识对应一个分片地址列表。
可选地,所述接收模块,还用于接收服务提供方发送的服务注册请求,所述服务注册请求中包含有服务标识,以及与所述服务标识对应的服务提供方的地址。
可选地,所述发送模块,还用于:
向服务消费方发送的更新后的地址列表。
第七方面,本发明实施例提供一种服务调用***,包括:
存储器,用于存储程序;
处理器,用于执行所述存储器存储的所述程序,当所述程序被执行时,所述处理器用于执行如第一方面、第二方面、第三方面中任一项所述的方法。
第八方面,本发明实施例提供一种计算机可读存储介质,包括:计算机程序,当其在计算机上运行时,使得计算机执行第一方面和、第二方面、第三方面中任一所述的方法。
本发明提供的服务调用方法、装置及***,通过根据目标服务所对应的服务标识,确定与所述目标服务对应的分片地址列表;所述分片地址列表中的每个地址所对应的服务提供方用于提供所述目标服务,且每一类服务标识对应一个分片地址列表;基于负载均衡算法从所述分片地址列表中选择一个目标服务提供方;向所述目标服务提供方发送服务调用请求。从而可以缩短了服务请求的调用链路,提升服务请求的调用效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为现有的分布式架构的结构示意图;
图2为本发明实施例一提供的服务调用方法的流程图;
图3为本发明实施例二提供的服务调用方法的流程图;
图4为本发明实施例三提供的服务调用方法的流程图;
图5为本发明实施例四提供的服务调用装置的结构示意图;
图6为本发明实施例五提供的服务调用装置的结构示意图;
图7为本发明实施例六提供的服务调用装置的结构示意图;
图8为本发明实施例七提供的服务调用***的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
下面以具体地实施例对本发明的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
以下,对本申请中的部分用语进行解释说明,以便于本领域技术人员理解:
1)Dubbo,是一个分布式服务框架,其应用远程调用协议(Remote Procedure CallProtocol,RPC)实现远程服务调用和服务管理。Dubbo架构中包含了5个节点角色:暴露服务的服务提供方(Provider)、调用远程服务的服务消费方(Consumer)、服务注册与发现的注册中心(Registry)、统计服务的调用次调和调用时间的监控中心(Monitor)、服务运行容器(Container)。
图1为现有的分布式架构的结构示意图,如图1所示,该分布式架构包括:服务提供方1、服务消费方2、注册中心3、监控中心4、服务运行容器5,其中,服务运行容器5用于负责启动,加载,运行服务提供方1;服务提供方1在启动时,向注册中心3注册自己提供的服务;服务消费方2在启动时,向注册中心3订阅自己所需的服务;服务消费方2从服务提供方1的地址列表中,基于软负载均衡算法选一个提供方进行调用,如果调用失败,则再选另一个提供方进行调用。服务消费方2和服务提供方均在内存中累计调用次数和调用时间,并按照预定时间间隔发送一次统计数据到监控中心4。但是,将上述分布式架构应用在使用同一套业务代码的业务***时,由于分布式架构只能进行统一部署,从而会使得电子商务***的架构比较复杂,服务消费方发起的服务请求需要经过很长的调用链路才能找到服务提供方,调用效率低下。当服务提供方的业务***出现异常时,统一部署的电子商务***会一直等待该服务提供方所在业务***的反馈,从而导致服务请求的积压,甚至出现电子商务***宕机的情况。
本发明提供的服务调用方法,旨在解决现有技术的如上技术问题。
下面以具体地实施例对本发明的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本发明的实施例进行描述。
图2为本发明实施例一提供的服务调用方法的流程图,如图2所示,本实施例中的方法可以包括:
S101、根据目标服务所对应的服务标识,确定与所述目标服务对应的分片地址列表。
可选地,在根据目标服务所对应的服务标识,确定与所述目标服务对应的分片地址列表之前,服务消费方向注册中心发送服务订阅请求,所述服务订阅请求中包含有所述目标服务所对应的服务标识。
本实施例中,所述分片地址列表中的每个地址所对应的服务提供方用于提供所述目标服务,且每一类服务标识对应一个分片地址列表。注册中心在接收到服务消费方法发送的服务订阅请求之后,向所述服务消费方发送地址列表;其中,所述地址列表中存储有已注册的服务提供方所对应的地址;所述地址列表中的地址是根据服务提供方在注册时发送的服务标识进行分类存储的。
可选地,服务消费方,也可以在任一阶段接收注册中心发送的更新后的地址列表。具体地,假设地址列表没有变化,且服务消费方并非第一次向注册中心发送服务请求,则服务消费方也可以直接在先前接收到的地址列表中,根据服务标识查找到对应的分片地址列表。
S102、基于负载均衡算法从所述分片地址列表中选择一个目标服务提供方。
本实施例中,分片地址列表中的服务提供方均可以向服务消费方提供目标服务,为了平衡各个服务提供方服务器的负载情况,采用负载均衡算法从所述分片地址列表中选择一个服务提供方来提供目标服务。
具体地,负载均衡算法可以包括:轮询法、随机法、源地址哈希法、加权轮询法、加权随机法、最小连数法等等。轮询法是指:将请求按顺序轮流地分配到后端服务器上,它均衡地对待后端的每一台服务器,而不关心服务器实际的连接数和当前的***负载。随机法是指:通过***的随机算法,根据后端服务器的列表大小值来随机选取其中的一台服务器进行访问。源地址哈希法是指:根据获取客户端的IP地址,通过哈希函数计算得到的一个数值,用该数值对服务器列表的大小进行取模运算,得到的结果便是客服端要访问服务器的序号。采用源地址哈希法进行负载均衡,同一IP地址的客户端,当后端服务器列表不变时,它每次都会映射到同一台后端服务器进行访问。加权轮询法是指:不同的后端服务器可能机器的配置和当前***的负载并不相同,因此它们的抗压能力也不相同,因此,可以给配置高、负载低的机器配置更高的权重,让其处理更多的请;而配置低、负载高的机器,给其分配较低的权重,降低其***负载,加权轮询可以将请求顺序处理,且按照权重分配到后端。加权随机法是指:根据后端机器的配置,***的负载分配不同的权重;与随机法不同的是,它是按照权重随机请求后端服务器,而非顺序。最小连数法是指:将积压连接数最少的一台服务器来处理当前的请求,尽可能地提高后端服务的利用效率,将负责合理地分流到每一台服务器。
S103、向所述目标服务提供方发送服务调用请求。
本实施例中,当确定了服务提供方的地址之后,向所述目标服务提供方发送服务调用请求。
可选地,在向所述目标服务提供方发送服务调用请求之后,还包括:
接收所述目标服务提供方反馈的响应信号;
若在预设的时间段内,未接收到所述目标服务提供方反馈的响应信号,则从所述分片地址列表中重新选择一个服务提供方作为新的目标服务提供方;
向所述新的目标服务提供方发送服务调用请求。
本实施例中,通过监测预设的时间段内是否收到目标服务提供方发送的响应信号来确定服务调用是否成功。若在预设的时间段内,没有接收到目标服务提供方发送的响应信号,则确定服务调用失败;此时,需要重新在所述分片地址列表中选择一个服务提供方作为新的目标服务提供方;向所述新的目标服务提供方发送服务调用请求。在具体的应用中,通过上述方法,可以极大地提升服务调用的成功率。
本实施例,通过根据目标服务所对应的服务标识,确定与所述目标服务对应的分片地址列表;所述分片地址列表中的每个地址所对应的服务提供方用于提供所述目标服务,且每一类服务标识对应一个分片地址列表;基于负载均衡算法从所述分片地址列表中选择一个目标服务提供方;向所述目标服务提供方发送服务调用请求。从而可以缩短了服务请求的调用链路,提升服务请求的调用效率。
图3为本发明实施例二提供的服务调用方法的流程图,如图3所示,本实施例中的方法可以包括:
S201、接收服务消费方发送的服务调用请求。
本实施例中,服务提供方(结合图2所示方法可知,此处对应的是目标服务提供方)接收服务消费方发送的服务调用请求。
可选地,在接收服务消费方发送的服务调用请求之前,服务提供方向注册中心发送服务注册请求,所述服务注册请求中包含有服务标识,以及与所述服务标识对应的服务提供方的地址。
本实施例中,由于服务提供方在注册服务时,其发送的服务注册请求中就包含有服务标识,因此注册中心可以依据该服务标识对服务提供方进行分类管理,将提供同一类服务的服务提供方的地址存储在一个分片地址列表中。
S202、若同意所述服务调用请求,则在预设的时间段内,向所述服务消费方反馈的响应信号。
本实施例中,若服务提供方接收了服务消费方的服务调用请求,则预设的时间段内,向所述服务消费方反馈的响应信号;所示响应信号用于通知服务消费方服务调用成功。
本实施例,服务提供方通过接收服务消费方发送的服务调用请求;若同意所述服务调用请求,则在预设的时间段内,向所述服务消费方反馈的响应信号。从而可以及时地告知服务消费方服务调用是否成功,避免服务消费方处于长期等待状态,提升了服务调用的效率。
图4为本发明实施例三提供的服务调用方法的流程图,如图4所示,本实施例中的方法可以包括:
S301、接收服务消费方发送的服务订阅请求。
可选地,注册中心还接收服务提供方发送的服务注册请求,所述服务注册请求中包含有服务标识,以及与所述服务标识对应的服务提供方的地址。
本实施例中,注册中心接收服务消费方发送的服务订阅请求,该服务订阅请求中包含有服务消费方需要调用的服务所对应的服务标识。
S302、向所述服务消费方发送地址列表。
可选地,注册中线还可以在任何阶段,向服务消费方发送的更新后的地址列表。
本实施例中,所述地址列表中存储有已注册的服务提供方所对应的地址;所述地址列表中的地址是根据服务提供方在注册时发送的服务标识进行分类存储的;每一类服务标识对应一个分片地址列表。
本实施例,注册中心可以接收服务消费方的服务订阅请求,并向服务消费方发送地址列表,其中,所述地址列表中存储有已注册的服务提供方所对应的地址;所述地址列表中的地址是根据服务提供方在注册时发送的服务标识进行分类存储的;每一类服务标识对应一个分片地址列表。从而可以缩短了服务请求的调用链路,提升服务请求的调用效率。
图5为本发明实施例四提供的服务调用装置的结构示意图,如图5所示,本实施例中的装置可以包括:
确定模块10,用于根据目标服务所对应的服务标识,确定与所述目标服务对应的分片地址列表;所述分片地址列表中的每个地址所对应的服务提供方用于提供所述目标服务,且每一类服务标识对应一个分片地址列表;
选择模块20,用于基于负载均衡算法从所述分片地址列表中选择一个目标服务提供方;
发送模块30,用于向所述目标服务提供方发送服务调用请求。
可选地,还包括:
接收模块40,用于在根据目标服务所对应的服务标识,确定与所述目标服务对应的分片地址列表之前,接收注册中心发送的地址列表;其中,所述地址列表中存储有已注册的服务提供方所对应的地址;所述地址列表中的地址是根据服务提供方在注册时发送的服务标识进行分类存储的。
可选地,所述发送模块30,还用于在接收注册中心发送的地址列表之前,向注册中心发送服务订阅请求,所述服务订阅请求中包含有所述目标服务所对应的服务标识。
可选地,所述接收模块40,还用于:
接收注册中心发送的更新后的地址列表。
可选地,所述选择模块20,还用于在向所述目标服务提供方发送服务调用请求之后,接收所述目标服务提供方反馈的响应信号;
若在预设的时间段内,未接收到所述目标服务提供方反馈的响应信号,则从所述分片地址列表中重新选择一个服务提供方作为新的目标服务提供方;
向所述新的目标服务提供方发送服务调用请求。
本实施例可以执行上述图2所示的方法中的技术方案,其实现过程和技术效果与上述方法类似,此处不再赘述。
图6为本发明实施例五提供的服务调用装置的结构示意图,如图6所示,本实施例中的装置可以包括:
接收模块50,用于接收服务消费方发送的服务调用请求;
反馈模块60,用于在同意所述服务调用请求时,在预设的时间段内,向所述服务消费方反馈的响应信号。
可选地,还包括:
发送模块70,用于在接收服务消费方发送的服务调用请求之前,向注册中心发送服务注册请求,所述服务注册请求中包含有服务标识,以及与所述服务标识对应的服务提供方的地址。
本实施例可以执行上述图3所示的方法中的技术方案,其实现过程和技术效果与上述方法类似,此处不再赘述。
图7为本发明实施例六提供的服务调用装置的结构示意图,如图7所示,本实施例中的装置可以包括:
接收模块80,用于接收服务消费方发送的服务订阅请求;
发送模块90,用于向所述服务消费方发送地址列表,其中,所述地址列表中存储有已注册的服务提供方所对应的地址;所述地址列表中的地址是根据服务提供方在注册时发送的服务标识进行分类存储的;每一类服务标识对应一个分片地址列表。
可选地,所述接收模块80,还用于接收服务提供方发送的服务注册请求,所述服务注册请求中包含有服务标识,以及与所述服务标识对应的服务提供方的地址。
可选地,所述发送模块90,还用于:
向服务消费方发送的更新后的地址列表。
本实施例可以执行上述图4所示的方法中的技术方案,其实现过程和技术效果与上述方法类似,此处不再赘述。
图8为本发明实施例七提供的服务调用***的结构示意图,如图8所示,本实施例中的服务调用***100包括:处理器110和存储器120;
存储器120,用于存储计算机程序(如实现上述服务调用方法的应用程序、功能模块等)、计算机指令等,上述的计算机程序、计算机指令等可以分区存储在一个或多个存储器120中。并且上述的计算机程序、计算机指令、数据等可以被处理器110调用。
处理器110,用于执行所述存储器120存储的所述计算机程序,以实现上述实施例涉及的方法中的各个步骤。具体可以参见前面方法实施例中的相关描述。其中,存储器120、处理器110可以通过总线130耦合连接。
本实施例可以执行上述图2~图4所示的方法中的技术方案,其实现过程和技术效果与上述方法类似,此处不再赘述。
此外,本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,当用户设备的至少一个处理器执行该计算机执行指令时,用户设备执行上述各种可能的方法。
其中,计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于用户设备中。当然,处理器和存储介质也可以作为分立组件存在于通信设备中。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (21)
1.一种服务调用方法,其特征在于,包括:
根据目标服务所对应的服务标识,确定与所述目标服务对应的分片地址列表;所述分片地址列表中的每个地址所对应的服务提供方用于提供所述目标服务,且每一类服务标识对应一个分片地址列表;
基于负载均衡算法从所述分片地址列表中选择一个目标服务提供方;
向所述目标服务提供方发送服务调用请求。
2.根据权利要求1所述的方法,其特征在于,在根据目标服务所对应的服务标识,确定与所述目标服务对应的分片地址列表之前,还包括:
接收注册中心发送的地址列表;其中,所述地址列表中存储有已注册的服务提供方所对应的地址;所述地址列表中的地址是根据服务提供方在注册时发送的服务标识进行分类存储的。
3.根据权利要求2所述的方法,其特征在于,在接收注册中心发送的地址列表之前,还包括:
向注册中心发送服务订阅请求,所述服务订阅请求中包含有所述目标服务所对应的服务标识。
4.根据权利要求1所述的方法,其特征在于,还包括:
接收注册中心发送的更新后的地址列表。
5.根据权利要求1所述的方法,其特征在于,在向所述目标服务提供方发送服务调用请求之后,还包括:
接收所述目标服务提供方反馈的响应信号;
若在预设的时间段内,未接收到所述目标服务提供方反馈的响应信号,则从所述分片地址列表中重新选择一个服务提供方作为新的目标服务提供方;
向所述新的目标服务提供方发送服务调用请求。
6.一种服务调用方法,其特征在于,包括:
接收服务消费方发送的服务调用请求;
若同意所述服务调用请求,则在预设的时间段内,向所述服务消费方反馈的响应信号。
7.根据权利要求6所述的方法,其特征在于,在接收服务消费方发送的服务调用请求之前,还包括:
向注册中心发送服务注册请求,所述服务注册请求中包含有服务标识,以及与所述服务标识对应的服务提供方的地址。
8.一种服务调用方法,其特征在于,包括:
接收服务消费方发送的服务订阅请求;
向所述服务消费方发送地址列表,其中,所述地址列表中存储有已注册的服务提供方所对应的地址;所述地址列表中的地址是根据服务提供方在注册时发送的服务标识进行分类存储的;每一类服务标识对应一个分片地址列表。
9.根据权利要求8所述的方法,其特征在于,还包括:
接收服务提供方发送的服务注册请求,所述服务注册请求中包含有服务标识,以及与所述服务标识对应的服务提供方的地址。
10.根据权利要求8所述的方法,其特征在于,还包括:
向服务消费方发送的更新后的地址列表。
11.一种服务调用装置,其特征在于,包括:
确定模块,用于根据目标服务所对应的服务标识,确定与所述目标服务对应的分片地址列表;所述分片地址列表中的每个地址所对应的服务提供方用于提供所述目标服务,且每一类服务标识对应一个分片地址列表;
选择模块,用于基于负载均衡算法从所述分片地址列表中选择一个目标服务提供方;
发送模块,用于向所述目标服务提供方发送服务调用请求。
12.根据权利要求11所述的装置,其特征在于,还包括:
接收模块,用于在根据目标服务所对应的服务标识,确定与所述目标服务对应的分片地址列表之前,接收注册中心发送的地址列表;其中,所述地址列表中存储有已注册的服务提供方所对应的地址;所述地址列表中的地址是根据服务提供方在注册时发送的服务标识进行分类存储的。
13.根据权利要求12所述的装置,其特征在于,所述发送模块,还用于在接收注册中心发送的地址列表之前,向注册中心发送服务订阅请求,所述服务订阅请求中包含有所述目标服务所对应的服务标识。
14.根据权利要求11所述的装置,其特征在于,所述接收模块,还用于:
接收注册中心发送的更新后的地址列表。
15.根据权利要求11所述的装置,其特征在于,所述选择模块,还用于在向所述目标服务提供方发送服务调用请求之后,接收所述目标服务提供方反馈的响应信号;
若在预设的时间段内,未接收到所述目标服务提供方反馈的响应信号,则从所述分片地址列表中重新选择一个服务提供方作为新的目标服务提供方;
向所述新的目标服务提供方发送服务调用请求。
16.一种服务调用装置,其特征在于,包括:
接收模块,用于接收服务消费方发送的服务调用请求;
反馈模块,用于在同意所述服务调用请求时,在预设的时间段内,向所述服务消费方反馈的响应信号。
17.根据权利要求16所述的装置,其特征在于,还包括:
发送模块,用于在接收服务消费方发送的服务调用请求之前,向注册中心发送服务注册请求,所述服务注册请求中包含有服务标识,以及与所述服务标识对应的服务提供方的地址。
18.一种服务调用装置,其特征在于,包括:
接收模块,用于接收服务消费方发送的服务订阅请求;
发送模块,用于向所述服务消费方发送地址列表,其中,所述地址列表中存储有已注册的服务提供方所对应的地址;所述地址列表中的地址是根据服务提供方在注册时发送的服务标识进行分类存储的;每一类服务标识对应一个分片地址列表。
19.根据权利要求18所述的装置,其特征在于,所述接收模块,还用于接收服务提供方发送的服务注册请求,所述服务注册请求中包含有服务标识,以及与所述服务标识对应的服务提供方的地址。
20.根据权利要求18所述的装置,其特征在于,所述发送模块,还用于:
向服务消费方发送的更新后的地址列表。
21.一种服务调用***,其特征在于,包括:
存储器,用于存储程序;
处理器,用于执行所述存储器存储的所述程序,当所述程序被执行时,所述处理器用于执行如权利要求1-10中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811353235.3A CN109542641A (zh) | 2018-11-14 | 2018-11-14 | 服务调用方法、装置及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811353235.3A CN109542641A (zh) | 2018-11-14 | 2018-11-14 | 服务调用方法、装置及*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109542641A true CN109542641A (zh) | 2019-03-29 |
Family
ID=65847379
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811353235.3A Pending CN109542641A (zh) | 2018-11-14 | 2018-11-14 | 服务调用方法、装置及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109542641A (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110427428A (zh) * | 2019-08-06 | 2019-11-08 | 中国工商银行股份有限公司 | 分布式服务调用方法及*** |
CN111124532A (zh) * | 2019-11-29 | 2020-05-08 | 北京浪潮数据技术有限公司 | 一种服务加载方法、装置及电子设备和存储介质 |
CN111984309A (zh) * | 2020-08-31 | 2020-11-24 | 北京达佳互联信息技术有限公司 | 服务调用方法、装置、服务器及存储介质 |
CN112468580A (zh) * | 2020-11-25 | 2021-03-09 | 政采云有限公司 | 一种业务服务的调用方法、装置、设备及存储介质 |
CN112491717A (zh) * | 2019-09-12 | 2021-03-12 | 华为技术有限公司 | 一种服务路由方法及装置 |
CN112698970A (zh) * | 2020-12-31 | 2021-04-23 | 北京千方科技股份有限公司 | 用于微服务架构的服务调用方法、装置及计算机存储介质 |
CN112788124A (zh) * | 2020-12-31 | 2021-05-11 | 中科星通(廊坊)信息技术有限公司 | 一种遥感影像分布式注册服务方法及装置 |
CN113014673A (zh) * | 2021-04-08 | 2021-06-22 | 广州趣丸网络科技有限公司 | 一种服务调用优化方法和装置 |
CN113765805A (zh) * | 2021-08-31 | 2021-12-07 | 上海完美时空软件有限公司 | 基于调用的通信方法、装置、存储介质及设备 |
CN113765870A (zh) * | 2020-09-01 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 一种远程服务调用方法、装置和*** |
CN113935659A (zh) * | 2021-11-25 | 2022-01-14 | 四川新网银行股份有限公司 | 一种信贷审批工单的分布式派单方法、***、设备及介质 |
CN114697339A (zh) * | 2022-04-08 | 2022-07-01 | 中国银行股份有限公司 | 集中式架构下的负载均衡方法及装置 |
CN114726787A (zh) * | 2022-04-11 | 2022-07-08 | 阿里巴巴(中国)有限公司 | 应用于rpc框架的路由方法及*** |
CN115002185A (zh) * | 2022-05-09 | 2022-09-02 | 北京城市网邻信息技术有限公司 | 数据的处理方法、装置、电子设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8407672B2 (en) * | 2003-08-07 | 2013-03-26 | International Business Machines Corporation | Systems and methods for synchronizing software execution across data processing systems and platforms |
CN104461747A (zh) * | 2014-12-31 | 2015-03-25 | 合一网络技术(北京)有限公司 | 一种分布式任务调度*** |
CN104615489A (zh) * | 2015-01-22 | 2015-05-13 | 江苏大烨智能电气股份有限公司 | 一种多节点数据交互的实现方法 |
CN105635331A (zh) * | 2014-11-18 | 2016-06-01 | 阿里巴巴集团控股有限公司 | 一种分布式环境下的服务寻址方法及装置 |
CN105847057A (zh) * | 2016-03-29 | 2016-08-10 | 乐视控股(北京)有限公司 | 故障处理方法及装置 |
CN106572137A (zh) * | 2015-10-12 | 2017-04-19 | 阿里巴巴集团控股有限公司 | 一种分布式服务资源管理方法和装置 |
CN106941508A (zh) * | 2016-01-05 | 2017-07-11 | 阿里巴巴集团控股有限公司 | 服务调用方法、装置和*** |
-
2018
- 2018-11-14 CN CN201811353235.3A patent/CN109542641A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8407672B2 (en) * | 2003-08-07 | 2013-03-26 | International Business Machines Corporation | Systems and methods for synchronizing software execution across data processing systems and platforms |
CN105635331A (zh) * | 2014-11-18 | 2016-06-01 | 阿里巴巴集团控股有限公司 | 一种分布式环境下的服务寻址方法及装置 |
CN104461747A (zh) * | 2014-12-31 | 2015-03-25 | 合一网络技术(北京)有限公司 | 一种分布式任务调度*** |
CN104615489A (zh) * | 2015-01-22 | 2015-05-13 | 江苏大烨智能电气股份有限公司 | 一种多节点数据交互的实现方法 |
CN106572137A (zh) * | 2015-10-12 | 2017-04-19 | 阿里巴巴集团控股有限公司 | 一种分布式服务资源管理方法和装置 |
CN106941508A (zh) * | 2016-01-05 | 2017-07-11 | 阿里巴巴集团控股有限公司 | 服务调用方法、装置和*** |
CN105847057A (zh) * | 2016-03-29 | 2016-08-10 | 乐视控股(北京)有限公司 | 故障处理方法及装置 |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110427428A (zh) * | 2019-08-06 | 2019-11-08 | 中国工商银行股份有限公司 | 分布式服务调用方法及*** |
WO2021047515A1 (zh) * | 2019-09-12 | 2021-03-18 | 华为技术有限公司 | 一种服务路由方法及装置 |
CN112491717A (zh) * | 2019-09-12 | 2021-03-12 | 华为技术有限公司 | 一种服务路由方法及装置 |
CN111124532A (zh) * | 2019-11-29 | 2020-05-08 | 北京浪潮数据技术有限公司 | 一种服务加载方法、装置及电子设备和存储介质 |
CN111984309A (zh) * | 2020-08-31 | 2020-11-24 | 北京达佳互联信息技术有限公司 | 服务调用方法、装置、服务器及存储介质 |
CN113765870A (zh) * | 2020-09-01 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 一种远程服务调用方法、装置和*** |
CN113765870B (zh) * | 2020-09-01 | 2023-09-05 | 北京沃东天骏信息技术有限公司 | 一种远程服务调用方法、装置和*** |
CN112468580A (zh) * | 2020-11-25 | 2021-03-09 | 政采云有限公司 | 一种业务服务的调用方法、装置、设备及存储介质 |
CN112788124B (zh) * | 2020-12-31 | 2023-06-09 | 中科星通(廊坊)信息技术有限公司 | 一种遥感影像分布式注册服务方法及装置 |
CN112788124A (zh) * | 2020-12-31 | 2021-05-11 | 中科星通(廊坊)信息技术有限公司 | 一种遥感影像分布式注册服务方法及装置 |
CN112698970A (zh) * | 2020-12-31 | 2021-04-23 | 北京千方科技股份有限公司 | 用于微服务架构的服务调用方法、装置及计算机存储介质 |
CN113014673A (zh) * | 2021-04-08 | 2021-06-22 | 广州趣丸网络科技有限公司 | 一种服务调用优化方法和装置 |
CN113765805A (zh) * | 2021-08-31 | 2021-12-07 | 上海完美时空软件有限公司 | 基于调用的通信方法、装置、存储介质及设备 |
CN113765805B (zh) * | 2021-08-31 | 2023-10-20 | 上海完美时空软件有限公司 | 基于调用的通信方法、装置、存储介质及设备 |
CN113935659A (zh) * | 2021-11-25 | 2022-01-14 | 四川新网银行股份有限公司 | 一种信贷审批工单的分布式派单方法、***、设备及介质 |
CN113935659B (zh) * | 2021-11-25 | 2024-06-28 | 四川新网银行股份有限公司 | 一种信贷审批工单的分布式派单方法、***、设备及介质 |
CN114697339A (zh) * | 2022-04-08 | 2022-07-01 | 中国银行股份有限公司 | 集中式架构下的负载均衡方法及装置 |
CN114726787A (zh) * | 2022-04-11 | 2022-07-08 | 阿里巴巴(中国)有限公司 | 应用于rpc框架的路由方法及*** |
CN114726787B (zh) * | 2022-04-11 | 2023-08-25 | 阿里巴巴(中国)有限公司 | 应用于rpc框架的路由方法及*** |
CN115002185A (zh) * | 2022-05-09 | 2022-09-02 | 北京城市网邻信息技术有限公司 | 数据的处理方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109542641A (zh) | 服务调用方法、装置及*** | |
US8364163B2 (en) | Method, system and apparatus for connecting a plurality of client machines to a plurality of servers | |
CN107911470B (zh) | 分布式动态负载均衡方法、计算设备及计算机存储介质 | |
CN110191164A (zh) | 分布式服务接入***及方法 | |
US20210410057A1 (en) | Service Discovery Extension in a 5G Mobile Communication Network | |
US8935377B2 (en) | Dynamic registration of listener resources for cloud services | |
CN102164116A (zh) | 均衡负载的方法、***及相应设备 | |
US9104488B2 (en) | Support server for redirecting task results to a wake-up server | |
CN110740162A (zh) | 通信链路建立方法、装置、电子设备及介质 | |
CN111694663A (zh) | 服务器集群的负载均衡方法、装置及*** | |
CN107426323A (zh) | 一种基于分布式的资源服务与可视化监控***及方法 | |
US8832215B2 (en) | Load-balancing in replication engine of directory server | |
CN112953982A (zh) | 一种服务处理的方法、服务配置的方法以及相关装置 | |
CN111078516A (zh) | 分布式性能测试方法、装置、电子设备 | |
CN106230992A (zh) | 一种负载均衡方法和负载均衡节点 | |
CN111796935A (zh) | 调用日志信息的消费实例分配方法及*** | |
CN112367221A (zh) | 一种工业物联网下分布式注册中心推荐方法 | |
CN113179295B (zh) | 报文处理方法及装置 | |
CN112422609A (zh) | 一种编程装置、业务请求连接方法 | |
CN117056023A (zh) | 一种分布式***存储资源调度方法及装置 | |
CN114024968B (zh) | 一种基于中间设备的报文发送方法、装置和电子设备 | |
CN109600402A (zh) | 服务器负载均衡方法及装置、存储介质、服务器、服务*** | |
WO2015069378A1 (en) | Hierarchical distribution of control information in a massively scalable network server | |
CN110855764A (zh) | 网络流量调度方法、装置、电子设备 | |
JP6036848B2 (ja) | 情報処理システム |
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 |
Application publication date: 20190329 |
|
RJ01 | Rejection of invention patent application after publication |