一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

单元化部署架构下的单元间服务发现方法、装置及系统与流程

2022-05-11 16:08:58 来源:中国专利 TAG:


1.本技术属于计算机技术领域,具体地讲,涉及一种单元化部署架构下的单元间服务发现方法、装置及系统。


背景技术:

2.单元化架构就是把单元作为系统部署的基本单位,在全站所有机房中部署数个单元,任意一个单元都部署了系统所需的所有应用,数据则是全量数据按照某种维度(通常是客户维度)水平划分后的一部分。单元化就是将服务和数据设计改造让其符合单元特征的过程。在单元化部署架构背景下,正常情况下,交易基本都能在本单元内闭环,但在有交易对手存在或部分服务无法单元化的业务场景下,交易并不能在本单元内闭环,所以如何实现不同单元的两个服务之间的交易是个问题。
3.目前,针对跨单元场景,业界里主要采用的技术方案包括:zproxy方案、antvip方案和注册中心同步方案。
4.如图1所示,zproxy方案中消费者服务调用时,如果目标单元不是本单元,则自动筛选到zproxy节点,然后zproxy节点rpc方式调用目标单元的服务。但是,代理节点需要订阅大量服务,存在较大的订阅缓存压力,同时跨单元服务调用由zproxy节点转发,会多一次服务调用的开销。
5.如图2所示,antvip方案中消费者服务调用时,如果目标单元不是本单元,则使用antvip规则拼装url地址,获取目标单元提供者地址,通过rpc方式调用服务。但是该方案需要云平台配合,且手工配置方式无法保证时效。
6.如图3所示,注册中心之间数据同步,每个注册中心都由完整的服务提供者列表;消费者服务调用时,根据目标单元筛选提供者列表即可。但是银行使用的zookeeper及sofa注册中心不支持数据同步,且根据调研,无合适的zookeeper/sofa数据同步工具;同时消费端需要订阅所有单元的服务提供方,存在订阅缓存及连接数的压力。


技术实现要素:

7.本技术提供了一种单元化部署架构下的单元间服务发现方法、装置及系统,以至少解决现有技术中跨单元间服务存在较大的订阅缓存压力,开销大,手工配置方式无法保证时效等问题。
8.根据本技术的一个方面,提供了一种单元化部署架构下的单元间服务发现方法,以跨单元服务管理器为执行主体,包括:
9.监听跨单元服务的启动动作,并对跨单元服务的服务提供方信息进行登记;
10.将已登记的服务提供方信息发送至跨单元调用服务器中,以使跨单元调用服务器向服务消费方发送服务提供方信息。
11.在一具体实施例中,单元化部署架构下的单元间服务发现方法,还包括:
12.监听服务提供方的信息变更动作,并对跨单元服务的服务提供方信息进行更新后
推送至跨单元调用服务器。
13.根据本技术的另一个方面,还提供了一种单元化部署架构下的单元间服务发现方法,以跨单元调用服务器,包括:
14.接收由跨单元服务管理器发送的服务提供方登记或变更信息并转发至服务消费方;
15.解析服务消费方发起的服务调用请求获取服务提供方地址;
16.根据服务提供方地址,基于软负载均衡算法向服务提供方的服务器发起调用。
17.在一实施例中,单元化部署架构下的单元间服务发现方法,还包括:
18.当向服务提供方发起调用失败时,采用rpc长连接点对点的方式调用预存的本地服务提供方地址列表中的其他服务提供方的服务器。
19.根据本技术的第三个方面,提供了一种单元化部署架构下的单元间服务发现系统,包括:分别部署在服务提供方的若干个监听单元,跨单元服务管理器和跨单元调用服务器;监听单元与跨单元服务管理器通信连接,跨单元服务管理器与跨单元调用服务器通信连接;
20.监听单元用于监听服务提供方的动作;
21.跨单元服务管理器用于进行跨单元服务的管理和登记;
22.跨单元调用服务器用于实现跨单元交易的订阅和调用。
23.根据本技术的第四个方面,提供了一种单元化部署架构下的单元间服务发现装置,以跨单元管理服务器为执行主体,包括:
24.监听单元,用于监听跨单元服务的启动动作,并对跨单元服务的服务提供方信息进行登记;
25.信息发送单元,用于将已登记的服务提供方信息发送至跨单元调用服务器中,以使跨单元调用服务器向服务消费方发送服务提供方信息。
26.在一实施例中,单元化部署架构下的单元间服务发现装置,还包括:
27.信息变更单元,用于监听服务提供方的信息变更动作,并对跨单元服务的服务提供方信息进行更新后推送至跨单元调用服务器。
28.根据本技术的第五个方面,以跨单元调用服务器为执行主体,还提供了一种单元化部署架构下的单元间服务发现装置,包括:
29.接收单元,用于接收由跨单元服务管理器发送的服务提供方登记或变更信息并转发至服务消费方;
30.解析单元,用于解析服务消费方发起的服务调用请求获取服务提供方地址;
31.调用单元,用于根据服务提供方地址,基于软负载均衡算法向服务提供方的服务器发起调用。
32.在一实施例中,单元化部署架构下的单元间服务发现装置还包括:
33.备用调用单元,用于当向服务提供方发起调用失败时,采用rpc长连接点对点的方式调用预存的本地服务提供方地址列表中的其他服务提供方的服务器。
34.本技术通过在全站所有机房中部署数个单元,任意一个单元都部署了系统所需的所有应用,然后将服务和数据设计改造让其符合单元的特征,在单元化部署架构的背景下,正常情况下,服务提供者在启动时,向本单元内的注册中心注册自己提供的服务,服务消费
者在启动时,向本单元内注册中心订阅自己需要的服务,所以正常情况下,交易基本都能在本单元内实现闭环。本技术解决了在有交易对手存在或部分服务无法单元化的业务场景下,交易并不能在本单元内闭环,实现跨单元的两个服务之间的交易的问题。
附图说明
35.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
36.图1至图3为现有技术中的跨单元服务调用系统结构图。
37.图4为本技术提供的一种单元化部署架构下的单元间服务发现系统结构框图。
38.图5为本技术提供的以跨单元管理服务器为执行主体的单元间服务发现方法流程图。
39.图6为本技术提供的以跨单元调用服务器为执行主体的单元间服务发现方法流程图。
40.图7为本技术提供的以跨单元管理服务器为执行主体的单元间服务发现装置结构框图。
41.图8为本技术提供的以跨单元调用服务器为执行主体的单元间服务发现装置结构框图。
42.图9为本技术实施例中一种电子设备的具体实施方式。
具体实施方式
43.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
44.在单元化部署架构背景下,正常情况下,交易基本都能在本单元内闭环,但在有交易对手存在或部分服务无法单元化的业务场景下,交易并不能在本单元内闭环,所以如何实现不同单元的两个服务之间的交易是个问题。
45.为了解决该问题,本技术提供了一种单元化部署架构下的单元间服务发现系统,如图4所示,包括:分别部署在服务提供方的若干个监听单元,跨单元服务管理器和跨单元调用服务器;监听单元与跨单元服务管理器通信连接,跨单元服务管理器与跨单元调用服务器通信连接;
46.监听单元用于监听服务提供方的动作;
47.跨单元服务管理器用于进行跨单元服务的管理和登记;
48.跨单元调用服务器用于实现跨单元交易的订阅和调用。
49.单元化架构就是把单元作为系统部署的基本单位,在全站所有机房中部署数个单元,任意一个单元都部署了系统所需的所有应用,数据则是全量数据按照客户维度水平划分后的一部分。单元化就是将服务和数据设计改造让其符合单元特征的过程。
50.在一具体实施例中,在单元化部署架构背景下,正常情况下,服务提供者在启动时,向本单元内的注册中心注册自己提供的服务。服务消费者在启动时,也向本单元内注册中心订阅自己需要的服务。所以正常情况下,交易基本都能在本单元内闭环。
51.但在有交易对手存在或部分服务无法单元化的业务场景下,交易并不能在本单元内闭环,所以如下图所示,对于跨单元的服务,本发明提出一种跨单元间服务发现方法,专门设置一个跨单元服务管理器(管控态)和一个跨单元调用机制(运行态)来实现跨单元服务间的调用。
52.跨单元服务管理器:主要用于跨单元服务的管理和登记,当跨单元服务启动时,会自动将该提供方服务信息登记到跨单元服务管理器上,登记成功后,该服务的登记信息会被自动推送到跨单元调用机制上,如果跨单元提供方服务有变更,比如新的提供方上线或者原提供方下线也会自动在跨单元服务管理器进行更新和下线登记并将更新后的状态自动推送至跨单元调用机制。
53.跨单元调用机制:该机制的作用是实现跨单元交易的订阅和调用,在接收到跨单元服务管理器发来的提供方信息后,跨单元调用机制会返回服务提供者地址列表给消费方供消费方调用,如果提供方服务信息有变更(比如有新的提供者上线,或者原提供者下线),跨单元调用机制也将基于长连接推送变更数据给消费者,从而消费方可以通过该机制自动订阅和调用跨单元的提供方,实现跨单元交易场景。
54.基于上述系统,以跨单元服务管理器为执行主体,本技术还提供了一种单元化部署架构下的单元间服务发现方法,如图5所示,包括:
55.s501:监听跨单元服务的启动动作,并对跨单元服务的服务提供方信息进行登记。
56.s502:将已登记的服务提供方信息发送至跨单元调用服务器中,以使跨单元调用服务器向服务消费方发送服务提供方信息。
57.在一实施例中,单元化部署架构下的单元间服务发现方法,还包括:
58.监听服务提供方的信息变更动作,并对跨单元服务的服务提供方信息进行更新后推送至跨单元调用服务器。
59.在一具体实施例中,对于跨单元服务的提供方,在其启动时,不仅仅在其单元内的服务注册中心注册自己提供的服务,也会将自己提供的跨单元服务自动登记在跨单元服务管理器,当该服务下线时,也会在跨单元服务管理器进行自动登记,方便后期对该服务进行管理。跨单元服务在跨单元服务管理器登记成功后,跨单元管理器会将该服务的信息自动推送到跨单元调用机制上,同时如果跨单元服务登记下线后,该下线信息也将自动推送到跨单元调用机制上。
60.以跨单元调用服务器为执行主体,本技术还提供了一种单元化部署架构下的单元间服务发现方法,如图6所示,包括:
61.s601:接收由跨单元服务管理器发送的服务提供方登记或变更信息并转发至服务消费方。
62.s602:解析服务消费方发起的服务调用请求获取服务提供方地址。
63.s603:根据服务提供方地址,基于软负载均衡算法向服务提供方的服务器发起调用。
64.在一实施例中,单元化部署架构下的单元间服务发现方法,还包括:
65.当向服务提供方发起调用失败时,采用rpc长连接点对点的方式调用预存的本地服务提供方地址列表中的其他服务提供方的服务器。
66.在一具体实施例中,对于要调用其他单元内的服务的消费方,在该消费方启动过程中,也会通过跨单元调用机制查询需要调用的提供者地址列表,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。服务调用采用java的rpc方式,并使用长连接进行点对点通信。从而实现订阅自己需要调用的跨单元服务,同时,当跨单元调用机制收到跨单元服务管理器推送过来的提供方信息变更的通知时,也会将该信息基于长连接推送变更数据给消费者。
67.基于同一发明构思,本技术实施例还提供了一种单元化部署架构下的单元间服务发现装置,可以用于实现上述实施例中所描述的方法,如下面实施例所述。由于该单元化部署架构下的单元间服务发现装置解决问题的原理与单元化部署架构下的单元间服务发现方法相似,因此单元化部署架构下的单元间服务发现装置的实施可以参考单元化部署架构下的单元间服务发现方法的实施。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的系统较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
68.以跨单元管理服务器为执行主体,提供了一种单元化部署架构下的单元间服务发现装置,如图7所示,包括:
69.监听单元701,用于监听跨单元服务的启动动作,并对跨单元服务的服务提供方信息进行登记;
70.信息发送单元702,用于将已登记的服务提供方信息发送至跨单元调用服务器中,以使跨单元调用服务器向服务消费方发送服务提供方信息。
71.在一实施例中,单元化部署架构下的单元间服务发现装置,还包括:
72.信息变更单元,用于监听服务提供方的信息变更动作,并对跨单元服务的服务提供方信息进行更新后推送至跨单元调用服务器。
73.在一具体实施例中,对于跨单元服务的提供方,在其启动时,不仅仅在其单元内的服务注册中心注册自己提供的服务,也会将自己提供的跨单元服务自动登记在跨单元服务管理器,当该服务下线时,也会在跨单元服务管理器进行自动登记,方便后期对该服务进行管理。跨单元服务在跨单元服务管理器登记成功后,跨单元管理器会将该服务的信息自动推送到跨单元调用机制上,同时如果跨单元服务登记下线后,该下线信息也将自动推送到跨单元调用机制上。
74.以跨单元调用服务器为执行主体,还提供了一种单元化部署架构下的单元间服务发现装置,如图8所示,包括:
75.接收单元801,用于接收由跨单元服务管理器发送的服务提供方登记或变更信息并转发至服务消费方;
76.解析单元802,用于解析服务消费方发起的服务调用请求获取服务提供方地址;
77.调用单元803,用于根据服务提供方地址,基于软负载均衡算法向服务提供方的服务器发起调用。
78.在一实施例中,单元化部署架构下的单元间服务发现装置还包括:
79.备用调用单元,用于当向服务提供方发起调用失败时,采用rpc长连接点对点的方
式调用预存的本地服务提供方地址列表中的其他服务提供方的服务器。
80.在一具体实施例中,对于要调用其他单元内的服务的消费方,在该消费方启动过程中,也会通过跨单元调用机制查询需要调用的提供者地址列表,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。服务调用采用java的rpc方式,并使用长连接进行点对点通信。从而实现订阅自己需要调用的跨单元服务,同时,当跨单元调用机制收到跨单元服务管理器推送过来的提供方信息变更的通知时,也会将该信息基于长连接推送变更数据给消费者。
81.本技术通过在全站所有机房中部署数个单元,任意一个单元都部署了系统所需的所有应用,然后将服务和数据设计改造让其符合单元的特征,在单元化部署架构的背景下,正常情况下,服务提供者在启动时,向本单元内的注册中心注册自己提供的服务,服务消费者在启动时,向本单元内注册中心订阅自己需要的服务,所以正常情况下,交易基本都能在本单元内实现闭环。本技术解决了在有交易对手存在或部分服务无法单元化的业务场景下,交易并不能在本单元内闭环,实现跨单元的两个服务之间的交易的问题。
82.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
83.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
84.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
85.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
86.本技术中应用了具体实施例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的一般技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本技术的限制。
87.本技术的实施例还提供能够实现上述实施例中的方法中全部步骤的一种电子设备的具体实施方式,参见图9,所述电子设备具体包括如下内容:
88.处理器(processor)901、内存902、通信接口(communications interface)903、总
线904和非易失性存储器905;
89.其中,所述处理器901、内存902、通信接口903通过所述总线904完成相互间的通信;
90.所述处理器901用于调用所述内存902和非易失性存储器905中的计算机程序,所述处理器执行所述计算机程序时实现上述实施例中的方法中的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
91.s501:监听跨单元服务的启动动作,并对跨单元服务的服务提供方信息进行登记。
92.s502:将已登记的服务提供方信息发送至跨单元调用服务器中,以使跨单元调用服务器向服务消费方发送服务提供方信息。
93.以及
94.s601:接收由跨单元服务管理器发送的服务提供方登记或变更信息并转发至服务消费方。
95.s602:解析服务消费方发起的服务调用请求获取服务提供方地址。
96.s603:根据服务提供方地址,基于软负载均衡算法向服务提供方的服务器发起调用。
97.本技术的实施例还提供能够实现上述实施例中的方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
98.s501:监听跨单元服务的启动动作,并对跨单元服务的服务提供方信息进行登记。
99.s502:将已登记的服务提供方信息发送至跨单元调用服务器中,以使跨单元调用服务器向服务消费方发送服务提供方信息。
100.以及
101.s601:接收由跨单元服务管理器发送的服务提供方登记或变更信息并转发至服务消费方。
102.s602:解析服务消费方发起的服务调用请求获取服务提供方地址。
103.s603:根据服务提供方地址,基于软负载均衡算法向服务提供方的服务器发起调用。
104.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于硬件 程序类实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。虽然本说明书实施例提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或终端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至为分布式数据处理环境)。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所
述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书实施例时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本说明书实施例的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。以上所述仅为本说明书实施例的实施例而已,并不用于限制本说明书实施例。对于本领域技术人员来说,本说明书实施例可以有各种更改和变化。凡在本说明书实施例的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书实施例的权利要求范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献