一种服务治理方法以及装置与流程

文档序号:37778788发布日期:2024-04-30 16:49阅读:8来源:国知局
一种服务治理方法以及装置与流程

本技术实施例涉及计算机领域,尤其涉及一种服务治理方法以及装置。


背景技术:

1、服务治理是指在微服务架构下对微服务实例进行管理和治理。微服务治理例如服务注册发现、负载均衡和应用路由等。其中,java agent技术可以让服务治理功能加载进业务的应用程序,从而不需要在业务的应用程序中编写特定的服务治理逻辑。

2、目前基于java agent技术进行服务治理过程中,服务治理功能需要通过服务治理功能插件加载至计算设备,计算设备对服务治理功能插件进行解析,并基于解析得到的服务治理逻辑在应用程序中插入插桩代码,当应用程序中的插桩代码被执行时,触发计算设备实现服务治理功能。

3、由于计算设备在服务治理功能更新的过程中,计算设备基于新版本的服务治理功能插件在应用程序中插入插桩代码时,会造成旧版本的服务治理功能中断,从而导致计算设备的服务治理功能热更新性能差。


技术实现思路

1、本技术实施例提供了一种服务治理方法以及装置,用于提升服务治理功能的热更新性能。

2、本技术实施例第一方面提供了一种服务治理方法,该方法可以由计算设备执行,也可以由计算设备的部件,例如计算设备的处理器、芯片或芯片系统等执行,还可以由能实现全部或部分计算设备功能的逻辑模块或软件实现。以计算设备执行为例,第一方面提供的方法包括以下步骤:计算设备获取第一插件代码,第一插件代码包括第一服务治理逻辑和第一插桩逻辑,第一服务治理逻辑和第一插桩逻辑解耦。计算设备根据第一插桩逻辑在应用程序中插入第一插桩,第一插桩用于向治理功能调度器请求从多个版本的治理逻辑实例中分配第一治理逻辑实例,第一治理逻辑实例用于执行第一服务治理逻辑,应用程序为正在运行的程序。当第一插桩被执行时,计算设备根据第一服务治理逻辑进行服务治理。

3、本技术实施例中提供第一插件代码中的服务治理逻辑和插桩逻辑相互结构解耦,从而计算设备能够使用不同的方式分别对其更新,即计算设备在应用程序中插入插桩不会中断服务治理逻辑实例执行服务治理逻辑,避免了服务治理功能更新过程中服务治理功能的中断,从而提升服务治理功能的热更新性能。

4、一种可能的实施方式中,计算设备获取第一插件代码之后,根据第一插件代码解析得到第一服务治理逻辑和第一插桩逻辑,计算设备利用治理功能调度器创建第一治理逻辑实例,第一治理逻辑实例用于执行第一服务治理逻辑。

5、本技术实施例中计算设备构建了治理功能调度器,该治理功能调度器能够创建并管理新版本和老版本的治理逻辑实例,提升了方案的可实现性。

6、一种可能的实施方式中,计算设备获取第二插件代码,第二插件代码包括第二服务治理逻辑。计算设备利用治理服务调度器创建第二治理逻辑实例,第二治理逻辑实例用于执行第二服务治理逻辑,第二治理逻辑实例和第一治理逻辑实例同时存在。第一治理逻辑和第二治理逻辑同时存储在内存。

7、本技术实施例中计算设备在更新服务治理逻辑的过程中,新版本的第二治理逻辑实例和旧版本的第一治理逻辑实例能够同时存在,从而使得第二治理逻辑实例的切换无需中断第一治理逻辑实例,从而实现了服务治理功能的热更新,提升了服务治理功能的热更新性能。

8、一种可能的实施方式中,第二治理逻辑实例用于更新第一治理逻辑实例,计算设备利用治理功能调度器创建第二治理逻辑实例之后,当第一插桩被执行时,根据第二服务治理逻辑进行服务治理。具体的,第一插桩调用治理服务调度器分配第二治理逻辑实例,第二治理逻辑实例执行第二服务治理逻辑。

9、本技术实施例中由于插桩逻辑和服务治理逻辑相互解耦,从而使得服务治理逻辑能够独立更新,不需要重新插桩,提升了服务治理功能的热更新性能。

10、一种可能的实施方式中,第二插件代码还包括第二插桩逻辑,计算设备根据第二插桩逻辑在应用程序中插入第二插桩,第二插桩用于更新第一插桩,第二插桩用于请求治理功能调度器分配第二治理逻辑实例。当第二插桩被执行时,计算设备根据第二服务治理逻辑进行服务治理。此时,该第二治理逻辑实例为多个版本的治理逻辑实例中的最新版本治理逻辑实例。

11、本技术实施例中计算设备能够对插桩逻辑进行更新,并基于更新后的插桩逻辑在应用程序插入第二插桩,从而更新应用程序中的插桩埋点,提升了应用程序的插桩更新效率。

12、一种可能的实施方式中,计算设备获取第一插件代码的过程中,计算设备基于第一类加载器获取第一插件代码,计算设备获取第二插件代码的过程中,计算设备基于第二类加载器获取第二插件代码,第一类加载器和第二类加载器为不同的类加载器。

13、本技术实施例中计算设备在进行服务治理功能更新的过程中,能够基于不同的类加载器获取第一插件代码和第二插件代码,即计算设备为服务治理功能的新版本和老版本定义单独的类加载器,使得新版本和老版本的服务治理功能可以同时存储在内存,避免了服务治理功能的中断,提升了服务治理功能热更新性能。

14、一种可能的实施方式中,多个版本的治理逻辑实例包括治理功能调度基于插件代码创建的不同新旧版本的治理逻辑实例,第一治理逻辑实例为多个版本的治理逻辑实例中的最新版本治理逻辑实例。

15、本技术实施例中不同新旧版本的治理逻辑实例同时存在于计算设备,计算设备能够通过第一插桩向治理功能调度器请求从多个版本的治理逻辑实例中分配最新版本的治理逻辑实例,提升了服务治理功能的热更新性能。在一种可能的实施方式中,计算设备的热插桩器利用java agent提供的instrumentation接口函数对应用程序进行插桩。具体的,热插桩器在执行应用程序的虚拟机上挂载为指定类添加埋点的转换器,并触发该转换器对指定类在应用程序中添加埋点。

16、本技术实施例中计算设备能够基于instrumentation接口函数对应用程序进行插桩,提升了方案的可实现性。

17、一种可能的实施方式中,当应用程序中的第一插桩被执行时,第二逻辑治理实例还未创建,则计算设备继续根据第一服务治理逻辑进行服务治理。

18、本技术实施例中计算设备加载新版本的第二服务治理逻辑,但治理功能调度器还未创建第二服务治理逻辑实例,第一插桩仍调用治理服务调度器分配第一治理逻辑实例执执行第一服务治理逻辑,避免了服务治理功能的中断。

19、一种可能的实施方式中,当第二治理逻辑实例创建完成,但是第一治理逻辑实例还未执行完成第一服务治理逻辑,则第二治理逻辑实例和第一治理逻辑实例同时存在。当第一插桩被执行时,治理功能调度器分配第二治理逻辑实例执行第二服务治理逻辑,第二治理逻辑实例执行第二服务治理逻辑不会中断第一治理逻辑实例执行第一服务治理逻辑。

20、本技术实施例计算设备的治理功能调度器能够创建并管理第一治理逻辑实例和第二治理逻辑实例,并且第一治理逻辑实例和第二治理逻辑实例可以同时执行服务治理逻辑,从使得服务治理功能的更新过程无中断,提升了服务治理功能的热更新性能。

21、一种可能的实施方式中,当第二治理逻辑实例创建完成,并且第一治理逻辑实例已经执行完成第一服务治理逻辑,计算设备的治理功能调度器能够将第一治理逻辑实例删除。

22、本技术实施例中当旧版本的第一治理逻辑实例执行完第一服务治理逻辑之后,计算设备会将旧版本的第一逻辑实例删除,从而提升了计算设备的内存利用率。

23、本技术实施例第二方面提供了一种服务治理装置,该服务治理装置包括收发单元和处理单元。其中,收发单元用于获取第一插件代码,第一插件代码包括第一服务治理逻辑和第一插桩逻辑,第一服务治理逻辑和第一插桩逻辑解耦。处理单元用于根据第一插桩逻辑在应用程序中插入第一插桩,第一插桩用于向治理功能调度器请求从多个版本的治理逻辑实例中分配第一治理逻辑实例,第一治理逻辑实例用于执行第一服务治理逻辑,应用程序为正在运行的程序。处理单元还用于当第一插桩被执行时,根据第一服务治理逻辑进行服务治理。

24、一种可能的实施方式中,收发单元还用于获取第二插件代码,第二插件代码包括第二服务治理逻辑。处理单元还用于利用治理功能调度器创建第二治理逻辑实例,第二治理逻辑实例用于执行第二服务治理逻辑,第二治理逻辑实例和第一治理逻辑实例同时存在。

25、一种可能的实施方式中,第二治理逻辑实例用于更新多个版本的治理逻辑实例,处理单元还用于当第一插桩被执行时,根据第二服务治理逻辑进行服务治理。

26、一种可能的实施方式中,第二插件代码还包括第二插桩逻辑,处理单元还用于根据第二插桩逻辑在应用程序中插入第二插桩,第二插桩用于更新第一插桩,第二插桩用于请求治理功能调度器分配第二治理逻辑实例,当第二插桩被执行时,根据第二服务治理逻辑进行服务治理。

27、一种可能的实施方式中,收发单元具体用于基于第一类加载器获取第一插件代码,基于第二类加载器获取第二插件代码,第一类加载器和第二类加载器为不同的类加载器。

28、一种可能的实施方式中,第一治理逻辑实例为所述多个版本的治理逻辑实例中的最新版本治理逻辑实例。

29、本技术实施例第三方面提供了一种计算设备集群,计算设备集群包括一个或多个计算设备,计算设备包括处理器,处理器与存储器耦合,处理器用于存储指令,当指令被处理器执行时,以使得计算设备集群执行第一方面或第一方面任意一种可能的实施方式所述的方法。

30、本技术实施例第四方面提供了一种计算机可读存储介质,其上存储有指令,指令被执行时,以使得计算机执行上述第一方面或第一方面任意一种可能的实施方式所述的方法。

31、本技术实施例第五方面提供了一种计算机程序产品,计算机程序产品中包括指令,指令被执行时,以使得计算机实现上述第一方面或第一方面任意一种可能的实施方式所述的方法。

32、可以理解,上述提供的任意一种计算设备集群、计算机可读介质或计算机程序产品等所能达到的有益效果可参考对应的方法中的有益效果,此处不再赘述。

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