微服务编排、调用方法、装置、设备、微服务系统及介质与流程

文档序号:38788034发布日期:2024-07-26 20:04阅读:13来源:国知局
微服务编排、调用方法、装置、设备、微服务系统及介质与流程

本公开涉及数据处理领域,尤其涉及一种微服务编排、调用方法、装置、设备、微服务系统及介质。


背景技术:

1、微服务架构是一种软件架构,旨在通过将功能分解到各个离散的服务中以实现对解决方案的解耦,其中,微服务架构中的各个离散的服务通常称为“微服务”。

2、微服务架构是一种分布式系统,涉及到服务之间的远程通信,由于微服务架构中的各个微服务通常是独立部署,因此,微服务之间需要通过网络进行通信,这导致通信开销较大,尤其是在一些频繁交互的场景中。

3、因此,如何降低微服务架构中的微服务之间的通信成本,已经成为目前亟需解决的技术问题。


技术实现思路

1、为了解决上述技术问题,本公开提供了一种微服务编排、调用方法、装置、设备、微服务系统及介质,能够降低微服务架构中的微服务之间的通信成本。

2、第一方面,本公开提供了一种微服务编排方法,所述方法包括:

3、确定多个待编排的微服务;

4、创建多个服务隔离组,并确定各服务隔离组分别对应的服务运行时类型;所述服务运行时类型用于对应的服务隔离组在物理机集群上部署时启动目标服务运行时模块;

5、针对所述多个待编排的微服务和所述多个服务隔离组,建立各微服务与服务隔离组的归属关系;所述归属关系用于指示归属于同一服务隔离组的微服务在物理机集群上部署时部署于同一进程,归属于不同服务隔离组的微服务在物理机集群上部署时部署于不同进程,归属于同一服务隔离组的微服务与所述服务隔离组对应的服务运行时类型相匹配。

6、可选地,所述方法还包括:

7、创建至少一个服务分组;

8、针对所述至少一个服务分组和所述多个服务隔离组,建立各服务隔离组与服务分组的归属关系;所述归属关系用于指示归属于同一服务分组的服务隔离组在物理机集群上部署时部署于同一物理机节点上,归属于不同服务分组的服务隔离组在物理机集群上部署时部署于不同物理机节点上。

9、可选地,所述方法还包括:

10、接收各服务分组对应的部署资源信息;所述部署资源信息用于为对应的服务分组在物理机集群上部署时匹配目标物理机节点。

11、可选地,所述针对所述多个待编排的微服务和所述多个服务隔离组,建立各微服务与服务隔离组的归属关系之后,还包括:

12、基于所述各微服务与服务隔离组的归属关系,将归属于第一服务隔离组的微服务部署于物理机集群上的第一进程内,并在所述第一进程内基于所述第一服务隔离组对应的服务运行时类型,为所述第一服务隔离组启动第一服务运行时模块;

13、利用所述第一服务运行时模块加载归属于所述第一服务隔离组的微服务。

14、可选地,所述基于所述各微服务与服务隔离组的归属关系,将归属于第一服务隔离组的微服务部署于物理机集群上的第一进程内之前,还包括:

15、基于所述各服务隔离组与服务分组的归属关系,将归属于第一服务分组的服务隔离组部署于物理机集群上的第一物理机节点上;所述第一服务隔离组归属于所述第一服务分组;

16、相应的,所述基于所述各微服务与服务隔离组的归属关系,将归属于第一服务隔离组的微服务部署于物理机集群上的第一进程内,包括:

17、基于所述各微服务与服务隔离组的归属关系,将归属于所述第一服务隔离组的微服务部署于物理机集群上的所述第一物理机节点上的第一进程内。

18、可选地,所述归属关系还用于指示归属于不同服务隔离组的微服务在物理机集群上部署时部署于不同容器或虚拟机上。

19、第二方面,本公开提供了一种微服务调用方法,所述方法包括:

20、微服务系统中的第一服务隔离组中的第一微服务发起微服务调用请求,所述微服务调用请求用于调用所述微服务系统中的第二微服务;

21、通过部署在所述第一服务隔离组中的第一服务运行时模块接收所述微服务调用请求,确定所述第一微服务和所述第二微服务是否部署于同一服务隔离组且运行于同一进程中;

22、在确定所述第二微服务与所述第一微服务部署于同一服务隔离组且运行于同一进程时,由所述第一服务运行模块通过预设进程内通信方式将所述服务调用请求转发至所述第二微服务进行服务调用。

23、可选地,所述方法还包括:

24、在确定所述第二微服务与所述第一微服务分别部署于不同的服务隔离组,且所述第二微服务和所述第一微服务分别归属的服务隔离组部署于同一物理机节点时,由所述第一服务运行模块通过预设本地调用的通信方式将所述服务调用请求转发至所述第二微服务进行服务调用。

25、可选地,所述方法还包括:

26、在确定所述第二微服务与所述第一微服务分别部署于不同的服务隔离组,且所述第二微服务和所述第一微服务分别归属的服务隔离组部署于不同的物理机节点时,由所述第一服务运行模块通过预设网络通信方式将所述服务调用请求转发至所述第二微服务进行服务调用。

27、可选地,所述方法还包括:

28、通过所述第一服务运行时模块接收针对所述第一服务隔离组中的第三微服务的升级请求,对所述第三微服务进行热升级,并动态加载所述第三微服务对应的升级后微服务。

29、第三方面,本公开提供了一种微服务系统,所述微服务系统中包括多个服务隔离组,各服务隔离组内分别部署有服务运行时模块以及至少一个微服务,同一服务隔离组内的微服务运行于同一进程内,不同服务隔离组内的微服务运行于不同进程内;

30、所述服务运行时模块,用于响应于第一微服务向第二微服务发起的微服务调用请求,确定所述第二微服务与所述第一微服务是否同一服务隔离组且运行于同一进程;如果确定所述第二微服务与所述第一微服务部署于同一服务隔离组且运行于同一进程中,则通过预设进程内通信方式将所述服务调用请求转发至所述第二微服务进行服务调用;其中,所述服务运行时模块与所述第一微服务部署同一服务隔离组内。

31、可选地,所述多个服务隔离组中的第一服务隔离组内的微服务为采用第一编程语言开发的微服务,所述第一服务隔离组内的服务运行时模块支持基于所述第一编程语言开发的微服务的运行;

32、和/或,所述多个服务隔离组中的第二服务隔离组内的微服务包括采用第二编程语言开发的微服务和采用第三编程语言开发的微服务,所述第二服务隔离组内的服务运行时模块支持采用所述第二编程语言开发的微服务以及采用所述第三编程语言开发的微服务的运行。

33、第四方面,本公开提供了一种微服务编排装置,所述装置包括:

34、第一确定模块,用于确定多个待编排的微服务;

35、第一创建模块,用于创建多个服务隔离组,并确定各服务隔离组分别对应的服务运行时类型;所述服务运行时类型用于对应的服务隔离组在物理机集群上部署时启动目标服务运行时模块;

36、第一建立模块,用于针对所述多个待编排的微服务和所述多个服务隔离组,建立各微服务与服务隔离组的归属关系;所述归属关系用于指示归属于同一服务隔离组的微服务在物理机集群上部署时部署于同一进程,归属于不同服务隔离组的微服务在物理机集群上部署时部署于不同进程,归属于同一服务隔离组的微服务与所述服务隔离组对应的服务运行时类型相匹配。

37、第五方面,本公开提供了一种微服务调用装置,所述装置包括:

38、请求发起模块,用于微服务系统中的第一服务隔离组中的第一微服务发起微服务调用请求,所述微服务调用请求用于调用所述微服务系统中的第二微服务;

39、第二确定模块,用于通过部署在所述第一服务隔离组中的第一服务运行时模块接收所述微服务调用请求,确定所述第一微服务和所述第二微服务是否部署于同一服务隔离组且运行于同一进程中;

40、第一转发模块,用于在确定所述第二微服务与所述第一微服务部署于同一服务隔离组且运行于同一进程时,由所述第一服务运行模块通过预设进程内通信方式将所述服务调用请求转发至所述第二微服务进行服务调用。

41、第六方面,本公开提供了一种电子设备,包括:存储器,处理器,及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现上述的方法。

42、第七方面,本公开提供了一种计算机程序产品,所述计算机程序产品包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现上述的方法。

43、本公开实施例提供的技术方案与现有技术相比至少具有如下优点:

44、本公开实施例提供的微服务编排方法中,通过创建多个服务隔离组,并建立各待编排的微服务与服务隔离组的归属关系的方式实现微服务的编排,另外,通过归属关系指示同一服务隔离组的微服务在物理机集群上部署时部署于同一进程,归属于不同服务隔离组的微服务在物理机集群上部署时部署于不同进程,能够实现基于上述微服务编排方式得到的微服务系统在运行过程中,不同服务隔离组的微服务之间的异常隔离,以及降低微服务调用的通信成本。

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