服务注册方法、服务发现方法、装置、电子设备及介质与流程

文档序号:35404656发布日期:2023-09-09 19:13阅读:21来源:国知局
服务注册方法、服务发现方法、装置、电子设备及介质与流程

本技术涉及分布式领域,尤其涉及一种服务注册方法、服务发现方法、装置、电子设备及介质。


背景技术:

1、在软件分开发中,将单一应用程序划分为一组服务,服务之间可以互相协调和互相配合,实现应用程序的功能,服务相比于程序,具有可独立部署以及堆栈清晰的优势。

2、一组服务进行通信包括服务注册以及服务发现两部分,在此基础上建立服务路由,通过服务路由,通过服务路由分配通信的流量,从而实现通信。服务路由是指在分布式环境下,用户根据符合自己特定要求的属性选择服务的提供者,对服务间流量的分配起到掌控的作用。

3、在实际应用中,针对大规模、多机房以及通信流量大的通信业务需求,超过服务路由的承载能力,会出现服务路由工作异常的情况,影响通信业务正常执行,导致服务路由的可靠性低。


技术实现思路

1、本技术提供一种服务注册方法、服务发现方法、装置、电子设备及介质,用以提升服务路由的可靠性。

2、第一方面,本技术提供一种服务注册方法,包括:接收客户端发送的服务注册请求,所述服务注册请求包括的多个待注册服务的标识;根据每个所述待注册服务的标识确定对应的待注册服务,并确定每个所述待注册服务对应的注册类型;根据每个所述待注册服务对应的注册类型,将所述多个待注册服务注册到内部注册中心、外部注册中心或者网络代理中心,所述内部注册中心用于建立同一机房内的服务路由,所述外部注册中心用于建立不同机房之间的服务路由,所述网络代理中心用于执行服务网格的通信逻辑。

3、在一种可能的实施方式中,针对任意一个所述待注册服务;根据所述待注册服务对应的注册类型,将所述待注册服务注册到内部注册中心、外部注册中心或者网络代理中心,包括:获取所述待注册服务对应的配置文件;从所述配置文件中获取所述待注册服务对应的元数据;根据所述待注册服务对应的注册类型,将所述待注册服务以及所述元数据注册到所述内部注册中心、所述外部注册中心或者所述网络代理中心。

4、在一种可能的实施方式中,所述注册类型包括内部注册类型、外部注册类型以及代理注册类型;根据所述待注册服务对应的注册类型,将所述待注册服务以及所述元数据注册到所述内部注册中心、所述外部注册中心或者所述网络代理中心,包括:若所述待注册服务对应的注册类型为所述内部注册类型,则确定所述内部注册中心对应的第一工具包,并通过所述第一工具包将所述待注册服务以及所述元数据注册到所述内部注册中心;若所述待注册服务对应的注册类型为所述外部注册类型,则确定所述外部注册中心对应的第二工具包,并通过所述第二工具包将所述待注册服务以及所述元数据注册到所述外部注册中心;若所述待注册服务对应的注册类型为所述代理注册类型,则通过所述网络代理中心中的第三工具包,将所述待注册服务以及所述元数据注册到所述网络代理中心。

5、在一种可能的实施方式中,所述元数据包括所述待注册服务所在地域的地域信息以及所在机房的机房信息;所述方法还包括:确定所述内部注册中心的第一位置、所述外部注册中心的第二位置以及所述网络代理中心的第三位置;根据所述元数据、所述第一位置、所述第二位置和所述第三位置,确定服务路由,所述服务路由用于分配经过所述内部注册中心、所述外部注册中心以及所述网络代理中心之间的流量;向所述客户端发送所述服务路由的标识,以使所述客户端配置所述服务路由的流量分配策略。

6、第二方面,本技术提供一种服务发现方法,包括:接收客户端发送的服务发现请求,所述服务发现请求包括的多个待发现服务对应的目标服务标识;针对任意一个所述目标服务标识,通过内部注册中心、外部注册中心或者网络代理中心执行服务发现操作,以得到发现服务;对所述发现服务进行配置处理,得到目标服务,并向所述客户端发送所述目标服务。

7、在一种可能的实施方式中,通过内部注册中心、外部注册中心或者网络代理中心执行服务发现操作,以得到发现服务,包括:确定所述内部注册中心、外部注册中心以及所述网络代理中心对应的订阅服务列表,所述订阅服务列表中包括多个服务的服务标识;根据所述目标服务标识以及所述订阅服务列表,通过所述内部注册中心、所述外部注册中心或者所述网络代理中心执行服务发现操作,得到所述发现服务。

8、在一种可能的实施方式中,根据所述目标服务标识以及所述订阅服务列表,通过所述内部注册中心、所述外部注册中心或者所述网络代理中心执行服务发现操作,得到所述发现服务,包括:若所述内部注册中心对应的所述订阅服务列表中包括所述目标服务标识,则通过所述内部注册中心执行服务发现操作,得到所述目标服务标识对应的发现服务;若所述外部注册中心对应的所述订阅服务列表中包括所述目标服务标识,则通过所述外部注册中心执行服务发现操作,得到所述目标服务标识对应的发现服务;若所述网络代理中心对应的所述订阅服务列表中包括所述目标服务标识,则通过所述网络代理中心执行服务发现操作,得到所述目标服务标识对应的发现服务。

9、在一种可能的实施方式中,对所述发现服务进行配置处理,得到目标服务,包括:确定所述发现服务的服务类型,所述服务类型为所述内部注册中心对应的服务类型、所述外部注册中心对应的服务类型、或者所述网络代理中心对应的服务类型;确定适配类型,所述适配类型为所述内部注册中心对应的服务类型;若所述服务类型与所述适配类型不同,则对所述发现服务进行配置处理,得到目标服务,所述目标服务的服务类型为所述适配类型;若所述服务类型与所述适配类型相同,则将所述发现服务确定为所述目标服务。

10、第三方面,本技术提供一种服务注册装置,包括:第一接收模块,用于接收客户端发送的服务注册请求,所述服务注册请求包括的多个待注册服务的标识;确定模块,用于根据每个所述待注册服务的标识确定对应的待注册服务,并确定每个所述待注册服务对应的注册类型;注册模块,用于根据每个所述待注册服务对应的注册类型,将所述多个待注册服务注册到内部注册中心、外部注册中心或者网络代理中心,所述内部注册中心用于建立同一机房内的服务路由,所述外部注册中心用于建立不同机房之间的服务路由,所述网络代理中心用于执行服务网格的通信逻辑。

11、在一种可能的实施方式中,针对任意一个所述待注册服务;所述注册模块,具体用于获取所述待注册服务对应的配置文件;所述注册模块,具体还用于从所述配置文件中获取所述待注册服务对应的元数据;所述注册模块,具体还用于根据所述待注册服务对应的注册类型,将所述待注册服务以及所述元数据注册到所述内部注册中心、所述外部注册中心或者所述网络代理中心。

12、在一种可能的实施方式中,所述注册类型包括内部注册类型、外部注册类型以及代理注册类型;所述注册模块,具体用于若所述待注册服务对应的注册类型为所述内部注册类型,则确定所述内部注册中心对应的第一工具包,并通过所述第一工具包将所述待注册服务以及所述元数据注册到所述内部注册中心;所述注册模块,具体还用于若所述待注册服务对应的注册类型为所述外部注册类型,则确定所述外部注册中心对应的第二工具包,并通过所述第二工具包将所述待注册服务以及所述元数据注册到所述外部注册中心;所述注册模块,具体还用于若所述待注册服务对应的注册类型为所述代理注册类型,则通过所述网络代理中心中的第三工具包,将所述待注册服务以及所述元数据注册到所述网络代理中心。

13、在一种可能的实施方式中,所述元数据包括所述待注册服务所在地域的地域信息以及所在机房的机房信息;所述装置还包括:分配模块,用于确定所述内部注册中心的第一位置、所述外部注册中心的第二位置以及所述网络代理中心的第三位置;所述分配模块,还用于根据所述元数据、所述第一位置、所述第二位置和所述第三位置,确定服务路由,所述服务路由用于分配经过所述内部注册中心、所述外部注册中心以及所述网络代理中心之间的流量;所述分配模块,还用于向所述客户端发送所述服务路由的标识,以使所述客户端配置所述服务路由的流量分配策略。

14、第四方面,本技术提供一种服务发现装置,包括:第二接收模块,用于接收客户端发送的服务发现请求,所述服务发现请求包括的多个待发现服务对应的目标服务标识;发现模块,用于针对任意一个所述目标服务标识,通过内部注册中心、外部注册中心或者网络代理中心执行服务发现操作,以得到发现服务;配置模块,用于对所述发现服务进行配置处理,得到目标服务,并向所述客户端发送所述目标服务。

15、在一种可能的实施方式中,所述发现模块,具体用于确定所述内部注册中心、外部注册中心以及所述网络代理中心对应的订阅服务列表,所述订阅服务列表中包括多个服务的服务标识;所述发现模块,具体还用于根据所述目标服务标识以及所述订阅服务列表,通过所述内部注册中心、所述外部注册中心或者所述网络代理中心执行服务发现操作,得到所述发现服务。

16、在一种可能的实施方式中,所述发现模块,具体用于若所述内部注册中心对应的所述订阅服务列表中包括所述目标服务标识,则通过所述内部注册中心执行服务发现操作,得到所述目标服务标识对应的发现服务;所述发现模块,具体还用于若所述外部注册中心对应的所述订阅服务列表中包括所述目标服务标识,则通过所述外部注册中心执行服务发现操作,得到所述目标服务标识对应的发现服务;所述发现模块,具体还用于若所述网络代理中心对应的所述订阅服务列表中包括所述目标服务标识,则通过所述网络代理中心执行服务发现操作,得到所述目标服务标识对应的发现服务。

17、在一种可能的实施方式中,所述装置还包括:执行模块,用于确定所述发现服务的服务类型,所述服务类型为所述内部注册中心对应的服务类型、所述外部注册中心对应的服务类型、或者所述网络代理中心对应的服务类型;所述执行模块,还用于确定适配类型,所述适配类型为所述内部注册中心对应的服务类型;所述执行模块,还用于若所述服务类型与所述适配类型不同,则对所述发现服务进行配置处理,得到目标服务,所述目标服务的服务类型为所述适配类型;所述执行模块,还用于若所述服务类型与所述适配类型相同,则将所述发现服务确定为所述目标服务。

18、第五方面,本技术提供一种电子设备,包括:处理器,以及与所述处理器通信连接的存储器;所述存储器存储计算机执行指令;所述处理器执行所述存储器存储的计算机执行指令,以实现第一方面中任一项所述的方法。

19、第六方面,本技术提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行如第一方面中任一项所述的方法。

20、第七方面,本技术提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行如第一方面中任一项所述的方法。

21、本技术提供的服务注册方法、服务发现方法、装置、电子设备及介质,包括:接收客户端发送的服务注册请求,所述服务注册请求包括的多个待注册服务;确定每个所述待注册服务对应的注册类型;根据每个所述待注册服务对应的注册类型,将所述多个待注册服务注册到内部注册中心、外部注册中心或者网络代理中心,所述内部注册中心用于建立同一机房内的服务路由,所述外部注册中心用于建立不同机房之间的服务路由,所述网络代理中心用于执行服务网格的通信逻辑。以上方案,通过服务网格实现多个待注册服务在多个注册中心的注册,由于服务网格将服务抽象到不同的层而降低服务的代码复杂度,从而提升服务路由的可靠性。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1