服务流量的调用导向系统及调用导向方法_3

文档序号:9870303阅读:来源:国知局
取对应的新的权重规则,从而根据新的权重规则,重新计算各个服务提供端的被调用权重。具体地,就是将第三个服务提供端S3中权重由原先的I提升至11,而其他服务提供端中的权重维持不变(仍为I)。之后,月艮务调用端就向各个服务提供端发起针对服务A的服务调用请求,各个服务提供端响应所述服务调用请求并根据更新后的被调用权重而执行调用服务。具体地,第三个服务提供端S3的权重为11,它所提供的服务流量为总的服务流量的11/(11*1+1*39) = 11/50,而其他服务提供端的权重为1,它们中的任一个提供的服务流量为总的服务流量的1/(11*1+1*39)=1/50。由上可知,第四个服务提供端所提供的服务流量由总的服务流量的1/40提升至总的服务流量的11/50,而其他服务提供端中的任一个所提供的服务流量由总的服务流量的1/40降低至总的服务流量的1/50,总体而言,可调配各个服务提供端的服务流量(在图4中,服务调用的线条的粗细代表了服务流量的大小,即,服务调用的线条越粗,则服务流量越大)。
[0067]当然实际操作中的权重需要根据具体情况来计算,需要先要估算出需要导入增加的流量比重,进而计算出对应的权重。另外,对于该权重规则,当收到从规则配置中心的权重规则失效的消息后,负载均衡立刻恢复之前随机平均的策略。
[0068]由上可知,本申请提供的服务流量的调用导向系统及调用导向方法主要是基于权重规则的定义和使用方式来确定各个服务提供端被调用权重,即,通过对服务提供端的权重进行重新分配以把服务流量按照权重比例导向到特定的服务提供端来完成压测服务,从而达到服务容量规划的目的。本申请提供的服务流量的调用导向系统及调用导向方法,可解决现有技术中服务流量调用不够灵活且不易控制,效果欠佳等问题。
[0069]请参阅图5,为本申请服务流量的调用导向系统在另一个实施方式中的系统架构图。本申请服务流量的调用导向系统应用于分布式架构的业务系统中。
[0070]如图5所示,本申请服务流量的调用导向系统包括:服务提供中心30、服务调用端31、地址服务中心33、以及规则配置中心35。
[0071]服务提供中心30,包含有若干个服务提供端301。在本实施例中,若干个服务提供端301为集群设置。在分布式架构的业务系统中,为了性能、容灾和稳定性,防止一个服务提供端宕机之后导致某个功能完全不可用,应用一般都会有一群服务提供端提供相同的功能,这样一个服务提供端挂掉之后别的服务提供端可以继续提供服务,这一群提供相同的一个服务提供端就叫做应用集群。在这里,为便于描述,所指的服务提供端301可代表为一台服务器,但并不以此为限,服务提供端301也可代表多台服务器。
[0072]另,对于任一服务提供端301而言,其可提供一个或多个服务且具有一唯一标识的地址信息(例如为IP地址)。
[0073]服务调用端31与服务提供中心30通信连接。在实际应用中,服务调用端31可根据自身所需的服务,向服务提供中心30中与所需的服务对应的服务提供端301发送服务调用请求,待对应的服务提供端301响应所述服务调用请求后(即该服务提供端301所能提供的服务是与服务调用端31所需的服务相对应),即可处理该服务调用并将处理结果返回至服务调用端31。
[0074]地址服务中心33与服务提供中心30和服务调用端31通信连接。在本实施例中,地址服务中心33存储有服务提供中心30中各个服务提供端301所注册的地址信息及所能提供的服务信息、以及服务调用端31所注册的所需的服务信息。具体地,在实际应用中:一方面,服务提供中心30中各个服务提供端301将自身的地址信息和所能提供的服务信息注册至地址服务中心33,其中,所述服务信息包括有三个基本属性:服务名、版本号、以及组另IJ。另一方面,服务调用端31将自身所需的服务信息注册至地址服务中心33,其中,所述服务信息包括有三个基本属性:服务名、版本号、以及组别。
[0075]地址服务中心33的主要目的是通过存储服务提供中心30中各个服务提供端301的注册信息以及各个服务调用端31的注册信息并将这些信息进行匹配处理后为服务调用端31提供适配的服务提供端301 (该服务提供端301所能提供的服务是与服务调用端31所需的服务相对应)的地址信息。在本实施例中,这些服务提供端301的地址信息采用列表形式,以形成针对这些服务提供端301的地址信息列表。
[0076]规则配置中心35与服务提供中心30和服务调用端31通信连接。在本实施例中,规则配置中心35存储有服务调用端31所注册的与所需的服务信息对应的归组规则。在本实施例中,所述归组规则是按照服务的粒度来配置生效的,例如,一个服务配置一个归组规贝U。另外,在本实施例中,规则配置中心35还可以存储有服务提供端301所注册的与所能提供的服务信息对应的归组规则。
[0077]在后续,服务提供端301可根据规则配置中心35中的归组规则而更新自身的服务信息中的组别后将更新的服务信息注册至地址服务中心33,服务调用端31即可从地址服务中心33获得更新的与所能提供的服务信息对应的服务提供端的地址信息列表,并可根据地址信息列表中经更新组别后的各个服务提供端,向对应的各个服务提供端发送服务调用请求。
[0078]请参阅图6,为本申请服务流量的调用导向方法在另一个实施方式中的流程示意图。以下结合图5和图6,对本申请服务流量的调用导向方法进行详细说明。
[0079]1、初始化阶段
[0080]对于服务提供端301而言:
[0081 ] 服务提供端301与地址服务中心33建立通信连接,将自身的地址信息及所能提供的服务信息注册至地址服务中心33 ;在这里,服务提供端301具有一唯一标识的地址信息(例如为IP地址),且可提供一个或多个服务。所述服务信息包括三个基本属性:服务名、版本号、以及组别。
[0082]另外,在实际应用中,服务提供端301也可将自身所能提供的服务信息对应的归组规则注册至地址服务中心33。
[0083]对于服务调用端31而言:
[0084]服务调用端31与地址服务中心33建立通信连接,将所需的服务信息注册至地址服务中心33。所述服务信息包括三个基本属性:服务名、版本号、以及组别。
[0085]服务调用端31与规则配置中心35建立通信连接,将与所需的服务对应的归组规则注册至规则配置中心35。所述归组规则是按照服务的粒度来配置生效的,例如,一个服务配置一个归组规则。
[0086]2、运行阶段
[0087].地址发现
[0088]由地址服务中心33根据服务调用端31所注册的服务信息而将与服务信息对应的服务提供端的地址信息推送至服务调用端31。在本实施例中,这些服务提供端301的地址信息采用列表形式,以形成针对这些服务提供端301的地址信息列表。
[0089]由服务提供端301从规则配置中心35获取与服务调用端31注册的归组规则,根据所述归组规则而更新自身的服务信息中的组别,并将更新了组别的服务信息再注册至地址服务中心33。在本实施例中,将更新了组别的服务信息再注册至地址服务中心33,包括:将带有旧标示组别的服务信息予以注销;以及将带有新标示组别的服务信息予以注册。
[0090]由服务调用端31从地址服务中心33获取经更新的与所需的服务信息对应的服务提供端的地址信息。
[0091]?调用流程
[0092]由服务调用端31根据更新后的各个服务提供端301的组别而向对应组别的服务提供端301发送服务调用请求,并从获得从所述服务提供端处返回的服务调用结果。
[0093]在本实施例中,上述过程具体包括:
[0094]由服务调用端31发起某一服务的服务调用请求;
[0095]根据所述服务调用请求获取与所述服务对应且更新了服务信息中的组别的服务提供端的地址信息;
[0096]根据所述地址信息,从与所述地址信息对应服务提供端中选择一个或多个;
[0097]将所述服务调用请求发送至选择的服务提供端301,以供服务提供端301执行相应的服务调用;以及
[0098]获得从服务提供端301处返回的服务调用结果。
[0099]以下结合图7来针对本申请服务流量的调用导向系统及方法在一具体实例中的应用进行详细说明。
[0100]在本申请中,归组规则是针对服务提供端而言的,服务信息包括三个基本属性:月艮务名、版本号、以及组别,其中,作为属性之一的组别在运行
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1