System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种服务治理方法以及装置制造方法及图纸_技高网

一种服务治理方法以及装置制造方法及图纸

技术编号:41123419 阅读:4 留言:0更新日期:2024-04-30 17:49
本申请实施例公开了一种服务治理方法,用于提升服务治理功能的热更新性能。本申请实施例方法包括:获取第一插件代码,第一插件代码包括第一服务治理逻辑和第一插桩逻辑,第一服务治理逻辑和第一插桩逻辑解耦;根据第一插桩逻辑在应用程序中插入第一插桩,第一插桩用于向治理功能调度器请求从多个版本的治理逻辑实例中分配第一治理逻辑实例,第一治理逻辑实例用于执行第一服务治理逻辑,应用程序为正在运行的程序;当第一插桩被执行时,根据第一服务治理逻辑进行服务治理。

【技术实现步骤摘要】

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


技术介绍

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、一种可能的实施方式中,当第二治理逻辑实本文档来自技高网...

【技术保护点】

1.一种服务治理方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述方法还包括:

3.根据权利要求2所述的方法,其特征在于,所述第二治理逻辑实例用于更新所述多个版本的治理逻辑实例,所述利用治理功能调度器创建第二治理逻辑实例之后,所述方法还包括:

4.根据权利要求2或3所述的方法,其特征在于,所述第二插件代码还包括第二插桩逻辑,所述方法还包括:

5.根据权利要求2至4中任一项所述的方法,其特征在于,所述获取第一插件代码包括:

6.根据权利要求1至5中任一项所述的方法,其特征在于,所述第一治理逻辑实例为所述多个版本的治理逻辑实例中的最新版本治理逻辑实例。

7.一种服务治理装置,其特征在于,包括:

8.根据权利要求7所述的装置,其特征在于,所述收发单元还用于:

9.根据权利要求8所述的装置,其特征在于,所述第二治理逻辑实例用于更新所述多个版本的治理逻辑实例,所述处理单元还用于:

10.根据权利要求8或9所述的装置,其特征在于,所述第二插件代码还包括第二插桩逻辑,所述处理单元还用于:

11.根据权利要求8至10中任一项所述的装置,其特征在于,所述收发单元具体用于:

12.根据权利要求7至11中任一项所述的装置,其特征在于,所述第一治理逻辑实例为所述多个版本的治理逻辑实例中的最新版本治理逻辑实例。

13.一种计算设备集群,其特征在于,包括一个或多个计算设备,所述计算设备包括处理器,所述处理器与存储器耦合,所述处理器用于存储指令,当所述指令被所述处理器执行时,以使得所述计算设备集群执行权利要求1至6中任一项所述的方法。

14.一种计算机可读存储介质,其上存储有指令,其特征在于,所述指令被执行时,以使得计算机执行权利要求1至6中任一项所述的方法。

15.一种计算机程序产品,所述计算机程序产品中包括指令,其特征在于,所述指令被执行时,以使得计算机实现权利要求1至6中任一项所述的方法。

...

【技术特征摘要】

1.一种服务治理方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述方法还包括:

3.根据权利要求2所述的方法,其特征在于,所述第二治理逻辑实例用于更新所述多个版本的治理逻辑实例,所述利用治理功能调度器创建第二治理逻辑实例之后,所述方法还包括:

4.根据权利要求2或3所述的方法,其特征在于,所述第二插件代码还包括第二插桩逻辑,所述方法还包括:

5.根据权利要求2至4中任一项所述的方法,其特征在于,所述获取第一插件代码包括:

6.根据权利要求1至5中任一项所述的方法,其特征在于,所述第一治理逻辑实例为所述多个版本的治理逻辑实例中的最新版本治理逻辑实例。

7.一种服务治理装置,其特征在于,包括:

8.根据权利要求7所述的装置,其特征在于,所述收发单元还用于:

9.根据权利要求8所述的装置,其特征在于,所述第二治理逻辑实例用于更新所述多个版本的治理逻辑实例,所述处理单元还...

【专利技术属性】
技术研发人员:栾文飞杨奕
申请(专利权)人:华为云计算技术有限公司
类型:发明
国别省市:

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

1