一种微服务架构的生成方法、装置、电子设备及介质与流程

文档序号:37226518发布日期:2024-03-05 15:31阅读:16来源:国知局
一种微服务架构的生成方法、装置、电子设备及介质与流程

本发明涉及微服务,特别是涉及一种微服务架构的生成方法、装置、电子设备及介质。


背景技术:

1、通常情况下,交付型应用采用单体架构构建,但是对于繁杂迥异和灵活多变的业务需求场景,单体架构存在业务耦合高、代码库庞大、依赖复杂等一系列问题,导致交付成本提升,进而衍生出微服务架构。

2、微服务架构时间单体应用按照业务进行拆分并把功能相近的业务整合成服务,服务以组合的方式构建应用的一种架构。当前的微服务架构下,单个服务采用单点部署,即每个服务运行在单个实例上,若该实例出现问题,无法弥补实例单一实例故障后服务不可用的问题,导致服务架构健壮性较低;同时,对于每个服务独立管理自身数据状态,服务之间通过接口交互,没有提供组网的相关功能导致无法满足级联需求,此外,微服务架构的应用组网内的各应用之间,需要组件构建数据上报至目标应用的传输管道,将其他应用的数据发送上报至目标应用内,进而目标应用内备份了一份其他应用的数据,在整个数据传输过程中,大量的数据传输以及重复处理,导致应用组网较为复杂,维护困难和通信效率降低。当前的微服务架构内没有要求服务安装和卸载的能力,难以实现应用的拓展性要求。

3、因此,如何同时满足微服务架构的健壮性要求、级联需求和拓展性要求是本领域技术人员亟需要解决的。


技术实现思路

1、本发明的目的是提供一种微服务架构的生成方法、装置、电子设备及介质,以解决现有的采用单体架构导致的健壮性较低、无法同时满足高可用、级联需求和拓展性要求的技术问题。

2、为解决上述技术问题,本发明提供一种微服务架构的生成方法,包括:

3、获取组件库内的多个相同构造的目标应用;

4、将各目标应用对应划分应用主体和应用拓展,并将各自的应用主体和应用拓展创建各自的副本;

5、将当前目标应用的应用主体和对应的副本与其他目标应用的应用主体和对应的副本之间建立级联关系;

6、将所述当前目标应用的应用拓展和对应的副本与所述当前目标应用的应用主体和对应的副本建立连接以生成微服务架构。

7、优选地,在建立所述应用主体和所述应用拓展各自对应的副本信息之后,在所述将当前目标应用的应用主体和对应的副本信息与其他目标应用的应用主体和对应的副本信息之间建立级联关系之前,还包括:

8、将所述应用主体与对应的副本之间通过raft协议进行协调以便于所述应用主体内的选主和日志复制;

9、将所述应用拓展与对应的副本之间通过所述raft协议进行协调以便于所述应用拓展内的选主和日志复制。

10、优选地,在所述当前目标应用为根应用,所述其他目标应用为非根应用时,所述将当前目标应用的应用主体和对应的副本与其他目标应用的应用主体和对应的副本之间建立级联关系,包括:

11、接收由所述非根应用发送的proxy请求;

12、根据所述proxy请求构建所述非根应用与所述根应用之间的路由表;

13、通过gossip协议将所述路由表共享至所述非根应用以完成级联关系的建立。

14、优选地,还包括:

15、构建所述非根应用对应的事务id,以便于将所述事务id所属的调用事件上报至所述根应用的协调队列;

16、在所述协调队列内构建消息队列,并保存上报的所述调用事件;

17、在所述调用事件失败的情况下,控制所述协调队列从所述消息队列内找出事务服务调用链;

18、根据所述事务服务调用链调用所述根应用的回滚接口以实现服务间的业务一致性。

19、优选地,所述将所述当前目标应用的应用拓展和对应的副本与所述当前目标应用的应用主体和对应的副本建立连接,包括:

20、将所述当前目标应用的应用拓展和对应的副本与所述当前目标应用的应用主体和对应的副本通过同一套sdk建立连接。

21、优选地,在所述目标应用的所述应用主体内未存在所述应用拓展的应用信息时,还包括:

22、在所述应用拓展所属的目标应用的应用主体完成初始化操作后,在所述应用拓展内安装所述初始化操作;

23、将服务注册业务设置为定时任务以定时传播所述应用拓展的服务信息进行初始化操作;

24、在完成所述应用拓展的初始化操作后,确定所述拓展应用的应用信息以便于传输至所述应用拓展所属的应用主体。

25、优选地,所述将所述应用主体与对应的副本之间通过raft协议进行协调,包括:

26、在所述应用主体的主实例存在故障时,获取所述应用主体对应的各副本的信息;

27、通过所述raft协议发起选主机制以便于在各所述副本中竞争主实例;

28、控制所述主实例接收外部请求信息,并记录对应的日志;

29、将所述日志信息发送至除所述主实例对应的副本之外的其余副本;

30、在所述其余副本投票满足预设条件后,控制所述主实例将所述外部请求信息进行处理。

31、为解决上述技术问题,本发明还提供了一种微服务架构的生成装置,包括:

32、获取模块,用于获取组件库内的多个相同构造的目标应用;

33、第一建立模块,用于将各目标应用对应划分应用主体和应用拓展,并将各自的应用主体和应用拓展创建各自的副本;

34、第二建立模块,用于将当前目标应用的应用主体和对应的副本与其他目标应用的应用主体和对应的副本之间建立级联关系;

35、第三建立模块,用于将所述当前目标应用的应用拓展和对应的副本与所述当前目标应用的应用主体和对应的副本建立连接以生成微服务架构。

36、为解决上述技术问题,本发明还提供一种电子设备,包括:

37、存储器,用于存储计算机程序;

38、处理器,用于执行所述计算机程序时实现如上述所述的微服务架构的生成方法的步骤。

39、为解决上述技术问题,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述所述的微服务架构的生成方法的步骤。

40、本发明提供的一种微服务架构的生成方法,获取组件库内的多个相同构造的目标应用;将各目标应用对应划分应用主体和应用拓展,并将各自的应用主体和应用拓展创建各自的副本。将当前目标应用的应用主体和对应的副本与其他目标应用的应用主体和对应的副本之间建立级联关系,将当前目标应用的应用拓展和对应的副本与当前目标应用的应用主体和对应的副本建立连接以生成微服务架构。该方法将多个相同构造的目标应用分为应用主体和应用拓展,且建立各自的副本,避免每个服务只有单一运行实例,实现每个服务拥有多个运行实例。在一个主实例故障后,通过副本进行替补,满足高可用和稳定性。将多个架构相同的应用进行组网形成应用间的级联关系,满足应用主体多点部署下的级联场景,无需将一个应用的数据上报给另一个应用,避免了应用组网较为复杂的拓扑导致的维护困难、通信效率低的问题。应用主体及其副本和应用拓展及其副本相连,两者构建成一个完整的应用,应用主体和应用拓展实现功能分散管理、分开迭代,满足应用的客制化和拓展性的要求。

41、另外,本发明还提供了一种微服务架构的生成装置、电子设备及介质,具有如上述微服务架构的生成方法相同的有益效果。

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