用于Dubbo框架中的服务提供实体变更通知方法、装置及系统制造方法及图纸

技术编号:30414387 阅读:16 留言:0更新日期:2021-10-24 16:16
本申请公开了一种用于Dubbo框架中的服务提供实体变更通知方法、装置及系统,属于通信领域。所述方法包括:服务注册中心检测到服务提供实体的状态发生变更时,获取第一应用的应用标识和所述第一应用包括的各服务的服务信息,所述第一应用是所述服务提供实体提供的应用;所述服务注册中心根据所述各服务的服务信息和所述应用标识,确定与所述第一应用之间存在订阅关系的服务需求实体;所述服务注册中心向所述服务需求实体发送变更消息,所述变更消息包括指示信息、所述应用标识和所述服务提供实体的实体信息,所述指示信息用于指示所述服务提供实体发生的变更情况。本申请能够减小对网络资源的消耗,避免产生网络拥堵。避免产生网络拥堵。避免产生网络拥堵。

【技术实现步骤摘要】
用于Dubbo框架中的服务提供实体变更通知方法、装置及系统


[0001]本申请涉及通信领域,特别涉及一种用于Dubbo框架中的服务提供实体变更通知方法、装置及系统。

技术介绍

[0002]Dubbo框架是一种开源框架,它提供的服务注册和发现功能可以帮助用户快速构建分布式服务发现以及远程调用系统。Dubbo框架包括服务注册中心,服务提供者可以在服务注册中心中注册其能够提供的应用包括的各服务的服务信息和其自身的地址和远程调用端口的端口号。
[0003]这样服务消费者可以向服务注册中心订阅其需要的服务,服务注册中心确定包括该订阅的服务的应用,向服务消费者发送该应用包括的各服务的服务信息和提供该应用的服务提供者的地址和远程调用端口的端口号。这样服务消费者根据该应用包括的各服务的服务信息、该服务提供者的地址和远程调用端口的端口号,可以对该服务提供者提供的该应用包括的服务发起远程调用。
[0004]在实现本申请的过程中,专利技术人发现现有技术至少存在以下问题:
[0005]服务提供者在提供该应用包括的服务的过程中,可能出现下线或上线等变更情况,在服务提供者出现下线或上线等变更情况,需要将该变更情况通知给服务消费者,然而目前通知服务消费者的方法需要消耗大量的网络资源,造成网络拥堵。

技术实现思路

[0006]本申请提供了一种用于Dubbo框架中的服务提供实体变更通知方法、装置及系统,以减小对网络资源的消耗,避免产生网络拥堵。所述技术方案如下:
[0007]第一方面,本申请提供了一种Dubbo框架中的服务提供实体变更通知方法,在所述方法中:服务注册中心检测到服务提供实体的状态发生变更时,获取第一应用的应用标识和第一应用包括的各服务的服务信息,第一应用是服务提供实体提供的应用。服务注册中心根据该各服务的服务信息和该应用标识,确定与第一应用之间存在订阅关系的服务需求实体。服务注册中心向服务需求实体发送变更消息,该变更消息包括指示信息、该应用标识和服务提供实体的实体信息。由于该指示信息用于指示服务提供实体发生的变更情况,这样服务需求实体可以基于该指示信息对已订阅的应用对应的实体信息进行更新,又由于变更消息包括状态发生变更的服务提供实体的实体信息,这样可以减小变更消息的数据量,从而减小对网络资源的消耗,避免产生网络拥堵。
[0008]在一种可能的实现方式中,该变更情况为如下任一种情况下:第一种情况,服务提供实体上线且第一应用是服务需求实体已缓存的应用。第二种情况,服务提供实体上线,第一应用不是服务需求实体已缓存的应用,且该各服务包含服务需求实体订阅的服务。第三种情况,服务提供实体下线且第一应用是服务需求实体已缓存的应用。由于定义了服务提供实体变更的三种情况,这样可以通过指示信息将服务提供实体发生的变更情况,通知给
服务需求实体,这样服务需求实体基于指示信息指示的变更情况,对本地缓存的已订阅的应用对应的实体信息进行更新,避免发生更新出错的问题。
[0009]在另一种可能的实现方式中,在该变更情况为第二种情况时,该变更消息还包括服务列表,该服务列表包括第一应用中的各服务的服务信息,在第二种情况下,表示服务需求实体没有缓存第一应用,变更消息还包括服务列表,从而使服务需求实体可以缓存第一应用。
[0010]第二方面,本申请提供了一种Dubbo框架中的服务提供实体变更通知方法,在所述方法中:服务需求实体接收变更消息,该变更消息是服务注册中心在检测到服务提供实体的状态发生变更时发送的,该变更消息包括指示信息、第一应用的应用标识和服务提供实体的实体信息,第一应用是服务提供实体提供的应用,该指示信息用于指示服务提供实体发生的变更情况。服务需求实体根据变更消息,更新应用标识、服务列表与实体列表的对应关系,该对应关系中的任一记录包括第二应用的应用标识、服务列表和实体列表,第二应用是服务需求实体已缓存的应用,服务列表包括第二应用中的各服务的服务信息,实体列表包括提供第二应用的各服务提供实体的实体信息。由于该指示信息用于指示服务提供实体发生的变更情况,这样服务需求实体可以基于该指示信息更新该对应关系,保证不会出现更新出错。又由于变更消息包括状态发生变更的服务提供实体的实体信息,这样可以减小变更消息的数据量,从而减小对网络资源的消耗,避免产生网络拥堵。
[0011]在一种可能的实现方式中,该变更情况为如下任一种情况下:第一种情况,服务提供实体上线且第一应用是服务需求实体已缓存的应用。第二种情况,服务提供实体上线,第一应用不是服务需求实体已缓存的应用,且该各服务包含服务需求实体订阅的服务。第三种情况,服务提供实体下线且第一应用是服务需求实体已缓存的应用。由于定义了服务提供实体变更的三种情况,这样可以通过指示信息将服务提供实体发生的变更情况,通知给服务需求实体,这样服务需求实体基于指示信息指示的变更情况,对该对应关系进行更新,避免发生更新出错的问题。
[0012]在另一种可能的实现方式中,在该指示信息指示第一种情况时,服务需求实体在该对应关系包括的该应用标识对应的实体列表中,添加服务提供实体的实体信息。在该指示信息指示第三种情况时,服务需求实体在该对应关系包括的该应用标识对应的实体列表中,删除服务提供实体的实体信息。如此实现基于该指示信息更新该对应关系,避免发生更新出错的问题。
[0013]在另一种可能的实现方式中,在该指示信息指示第二种情况时,该变更消息还包括服务列表,该服务列表包括第一应用包括的各服务的服务信息。服务需求实体将第一应用的应用标识、服务列表和服务提供实体的实体信息对应保存在该对应关系中。在第二种情况下,表示服务需求实体没有缓存第一应用,由于变更消息还包括服务列表,将第一应用的应用标识、服务列表和服务提供实体的实体信息对应保存在该对应关系中,从而实现缓存第一应用。
[0014]第三方面,本申请实施例提供了一种Dubbo框架中的服务提供实体变更通知装置,用于执行第一方面或第一方面的任意一种可能的实现方式中的方法。具体地,所述装置包括用于执行第一方面或第一方面的任意一种可能的实现方式中的方法的单元。
[0015]第四方面,本申请实施例提供了一种Dubbo框架中的服务提供实体变更通知装置,
用于执行第二方面或第二方面的任意一种可能的实现方式中的方法。具体地,所述装置包括用于执行第二方面或第二方面的任意一种可能的实现方式中的方法的单元。
[0016]第五方面,本申请实施例提供了一种Dubbo框架中的服务提供实体变更通知装置,所述装置包括收发器、处理器和存储器。其中,所述收发器、所述处理器以及所述存储器之间可以通过总线系统相连。所述存储器用于存储程序、指令或代码,所述处理器用于执行所述存储器中的程序、指令或代码,完成第一方面或第一方面的任意可能的实现方式中的方法。
[0017]第六方面,本申请实施例提供了一种Dubbo框架中的服务提供实体变更通知装置,所述装置包括收发器、处理器和存储器。其中,所述收发器、所述处理器以及所述存储器之间可以通过总线系统相连。所述本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种Dubbo框架中的服务提供实体变更通知方法,其特征在于,所述方法包括:服务注册中心检测到服务提供实体的状态发生变更时,获取第一应用的应用标识和所述第一应用包括的各服务的服务信息,所述第一应用是所述服务提供实体提供的应用;所述服务注册中心根据所述各服务的服务信息和所述应用标识,确定与所述第一应用之间存在订阅关系的服务需求实体;所述服务注册中心向所述服务需求实体发送变更消息,所述变更消息包括指示信息、所述应用标识和所述服务提供实体的实体信息,所述指示信息用于指示所述服务提供实体发生的变更情况。2.如权利要求1所述的方法,其特征在于,所述变更情况为如下任一种情况下:第一种情况,所述服务提供实体上线且所述第一应用是所述服务需求实体已缓存的应用;第二种情况,所述服务提供实体上线,所述第一应用不是所述服务需求实体已缓存的应用,且所述各服务包含所述服务需求实体订阅的服务;第三种情况,所述服务提供实体下线且所述第一应用是所述服务需求实体已缓存的应用。3.如权利要求2所述的方法,其特征在于,在所述变更情况为所述第二种情况时,所述变更消息还包括服务列表,所述服务列表包括所述第一应用中的各服务的服务信息。4.一种Dubbo框架中的服务提供实体变更通知方法,其特征在于,所述方法包括:服务需求实体接收变更消息,所述变更消息是服务注册中心在检测到服务提供实体的状态发生变更时发送的,所述变更消息包括指示信息、第一应用的应用标识和所述服务提供实体的实体信息,所述第一应用是所述服务提供实体提供的应用,所述指示信息用于指示所述服务提供实体发生的变更情况;所述服务需求实体根据所述变更消息,更新应用标识、服务列表与实体列表的对应关系,所述对应关系中的任一记录包括第二应用的应用标识、服务列表和实体列表,所述第二应用是所述服务需求实体已缓存的应用,所述服务列表包括所述第二应用中的各服务的服务信息,所述实体列表包括提供所述第二应用的各服务提供实体的实体信息。5.如权利要求4所述的方法,其特征在于,所述变更情况为如下任一种情况下:第一种情况,所述服务提供实体上线且所述第一应用是所述服务需求实体已缓存的应用;第二种情况,所述服务提供实体上线,所述第一应用不是所述服务需求实体已缓存的应用,且所述各服务包含所述服务需求实体订阅的服务;第三种情况,所述服务提供实体下线且所述第一应用是所述服务需求实体已缓存的应用。6.如权利要求5所述的方法,其特征在于,所述服务需求实体根据所述变更消息,更新应用标识、服务列表与实体列表的对应关系,包括:在所述指示信息指示所述第一种情况时,所述服务需求实体在所述对应关系包括的所述应用标识对应的实体列表中,添加所述服务提供实体的实体信息;在所述指示信息指示所述第三种情况时,所述服务需求实体在所述对应关系包括的所述应用标识对应的实体列表中,删除所述服务提供实体的实体信息。
7.如权利要求5所述的方法,其特征在于,在所述指示信息指示所述第二种情况时,所述变更消息还包括服务列表,所述服务列表包括所述第一应用包括的各服务的服务信息;所述服务需求实体根据所述变更消息,更新应用标识、服务列表与实体列表的对应关系,包括:所述服务需求实体将所述第一应用的应用标识、所述服务列表和所述服务提供实体的实体信息...

【专利技术属性】
技术研发人员:姜宇贺雪梅
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1