一种无侵入式异构微服务框架的自适配接入方法及系统技术方案

技术编号:37331020 阅读:26 留言:0更新日期:2023-04-21 23:08
本发明专利技术提供了一种无侵入式异构微服务框架的自适配接入方法及系统,通过将异构微服务框架中的各个微服务中治理逻辑和业务逻辑进行剥离;再根据每一个微服务开发独立的Agent包作为挂载逻辑;最后将所述挂载逻辑挂载到目标业务的微服务上使得挂载逻辑替代该微服务中的治理逻辑。实现了将各个异构微服务框架中的各个应用系统中的对应注册发现、远端配置和服务治理等逻辑实现统一的管理,从而实现各个异构微服务框架服务的统一性,同时大大降低用户从既有技术栈迁移到企业级平台的门槛,节省大量的开发适配和迁移成本。大量的开发适配和迁移成本。大量的开发适配和迁移成本。

【技术实现步骤摘要】
一种无侵入式异构微服务框架的自适配接入方法及系统


[0001]本专利技术属于云计算软件开发领域,具体涉及一种无侵入式异构微服务框架的自适配接入方法及系统。

技术介绍

[0002]随着IT相关技术和互联网技术的快速发展,电力系统的信息技术也取得了长足的发展。电力系统逐步改变以往“单体架构开发”的传统构建方式,并基于微服务架构构建新的电力系统应用。微服务架构主要利用现代信息技术分散大系统,具备高内聚、低耦合的特征,一个服务负责一个业务,高度、独立地运行,实现自治。因此,微服务架构具备敏捷的理念,在微服务架构上研究电力系统,可以最大限度地简化服务开发。
[0003]目前主流的微服务开发语言是Java,其成熟的框架存在着gRPC、SpringCloud、Dubbo等,对应的注册中心有Nacos、Eureka、Consul、Zookeeper等,以及配置中心有Apollo、Nacos等,针对异构的微服务框架和注册配置中心选型,需要集成不同的SDK,并做代码级修改。因此,不可避免的面临着技术栈变更、服务升级等过程中带来的架构升级变更调整以及后向兼容等一系列问题。
[0004]即,目前不同服务框架下的应用系统都是独立部署管理的,类似一个个烟囱系统,如图1所示,各自需要集成对应注册发现、远端配置和服务治理的SDK,同时系统之间也无法实现服务互相发现。

技术实现思路

[0005]为克服上述现有技术的不足,本专利技术提出一种无侵入式异构微服务框架的自适配接入方法及系统,通过Agent JAR包进行无侵入式的方式将各个异构微服务框架中的各个应用系统中的对应注册发现、远端配置和服务治理实现统一的管理,实现各个异构微服务框架服务的统一性。
[0006]本专利技术提供的技术方案如下:
[0007]本专利技术提供了一种无侵入式异构微服务框架的自适配接入方法,包括:
[0008]将异构微服务框架中的各个微服务中治理逻辑和业务逻辑进行剥离;
[0009]根据每一个微服务开发独立的Agent包作为挂载逻辑;
[0010]将所述挂载逻辑挂载到目标业务的微服务上使得挂载逻辑替代该微服务中的治理逻辑。
[0011]优选的,所述将所述挂载逻辑挂载到目标业务的微服务上,包括:
[0012]通过目标业务的进程ID找到目标业务的微服务的运行环境;
[0013]将所述挂载逻辑通过Attach挂载到所述目标业务的微服务的运行环境中。
[0014]优选的,所述通过目标业务的进程ID找到其微服务的运行环境,包括:
[0015]将所述目标业务的进程ID与设定的类中的运行环境对象列表进行匹配;
[0016]当匹配成功的时候,选定对应的运行环境为所述目标业务的微服务的运行环境;
[0017]当匹配不成功的时候,不操作。
[0018]优选的,所述设定的类为com.sun.tools.attach.VirtualMachine类。
[0019]优选的,所述挂载逻辑包括一个或者多个模块,每一个模块具有相应的治理能力。
[0020]优选的,每一个所述模块通过独立的类加载器加载。
[0021]基于同一个专利技术构思,本专利技术还提出了一种无侵入式异构微服务框架的自适配接入系统,包括:
[0022]逻辑剥离单元,用于:将异构微服务框架中的各个微服务中治理逻辑和业务逻辑进行剥离;
[0023]挂载逻辑生成单元,用于:根据每一个微服务开发独立的Agent包作为挂载逻辑;
[0024]逻辑替代单元,用于:将所述挂载逻辑挂载到目标业务的微服务上使得挂载逻辑替代该微服务中的治理逻辑。
[0025]优选的,所述逻辑替代单元将所述挂载逻辑挂载到目标业务的微服务上,包括:
[0026]通过目标业务的进程ID找到目标业务的微服务的运行环境;
[0027]将所述挂载逻辑通过Attach挂载到所述目标业务的微服务的运行环境中。
[0028]优选的,所述逻辑替代单元通过目标业务的进程ID找到其微服务的运行环境,包括:
[0029]将所述目标业务的进程ID与设定的类中的运行环境对象列表进行匹配;
[0030]当匹配成功的时候,选定对应的运行环境为所述目标业务的微服务的运行环境;
[0031]当匹配不成功的时候,不操作。
[0032]优选的,所述设定的类为com.sun.tools.attach.VirtualMachine类。
[0033]优选的,所述挂载逻辑生成单元和所述逻辑替代单元中的挂载逻辑包括一个或者多个模块,每一个模块具有相应的治理能力。
[0034]优选的,每一个所述模块通过独立的类加载器加载。
[0035]基于同样的专利技术构思,本专利技术还提出了一种计算机设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序;
[0036]当所述一个或多个程序被所述一个或多个处理器执行时,实现上述的一种无侵入式异构微服务框架的自适配接入方法。
[0037]基于同样的专利技术构思,本专利技术还提出了一种计算机可读存储介质,其上存有计算机程序,所述计算机程序被执行时,实现上述的一种无侵入式异构微服务框架的自适配接入方法。
[0038]与最接近的现有技术相比,本专利技术具有的有益效果如下:
[0039]本专利技术提供了一种无侵入式异构微服务框架的自适配接入方法及系统,通过将异构微服务框架中的各个微服务中治理逻辑和业务逻辑进行剥离;再根据每一个微服务开发独立的Agent包作为挂载逻辑;最后将所述挂载逻辑挂载到目标业务的微服务上使得挂载逻辑替代该微服务中的治理逻辑。实现了将各个异构微服务框架中的各个应用系统中的对应注册发现、远端配置和服务治理等逻辑实现统一的管理,从而实现各个异构微服务框架服务的统一性,同时大大降低用户从既有技术栈迁移到企业级平台的门槛,节省大量的开发适配和迁移成本。
附图说明
[0040]图1为目前不同服务框架下的应用系统的分布示意图;
[0041]图2为本专利技术提供的一种无侵入式异构微服务框架的自适配接入方法的流程示意图;
[0042]图3为本专利技术的无侵入式异构微服务框架架构图;
[0043]图4为本专利技术中挂载逻辑的模块化机制分布图;
[0044]图5为本专利技术提供的一种无侵入式异构微服务框架的自适配接入系统的系统连接示意图。
具体实施方式
[0045]下面结合附图对本专利技术的具体实施方式做进一步的详细说明。
[0046]实施例1:
[0047]本专利技术提供了一种无侵入式异构微服务框架的自适配接入方法,如图2所示,包括:
[0048]步骤1:将异构微服务框架中的各个微服务中治理逻辑和业务逻辑进行剥离;
[0049]步骤2:根据每一个微服务开发独立的Agent包作为挂载逻辑;
[0050]步骤3:将所述挂载逻辑挂载到目标业务的微服务上,使得挂载逻辑替代该微服务中的治理逻辑。
[00本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种无侵入式异构微服务框架的自适配接入方法,其特征在于,包括:将异构微服务框架中的各个微服务中治理逻辑和业务逻辑进行剥离;根据每一个微服务开发独立的Agent包作为挂载逻辑;将所述挂载逻辑挂载到目标业务的微服务上使得挂载逻辑替代该微服务中的治理逻辑。2.如权利要求1所述的方法,其特征在于,所述将所述挂载逻辑挂载到目标业务的微服务上,包括:通过目标业务的进程ID找到目标业务的微服务的运行环境;将所述挂载逻辑通过Attach挂载到所述目标业务的微服务的运行环境中。3.如权利要求2所述的方法,其特征在于,所述通过目标业务的进程ID找到其微服务的运行环境,包括:将所述目标业务的进程ID与设定的类中的运行环境对象列表进行匹配;当匹配成功的时候,选定对应的运行环境为所述目标业务的微服务的运行环境;当匹配不成功的时候,不操作。4.如权利要求3所述的方法,其特征在于,所述设定的类为com.sun.tools.attach.VirtualMachine类。5.如权利要求1所述的方法,其特征在于,所述挂载逻辑包括一个或者多个模块,每一个模块具有相应的治理能力。6.如权利要求5所述的方法,其特征在于,每一个所述模块通过独立的类加载器加载。7.一种无侵入式异构微服务框架的自适配接入系统,其特征在于,包括:逻辑剥离单元,用于:将异构...

【专利技术属性】
技术研发人员:刘鹏徐英辉邓春宇王大中张宇熙李闯任钰松
申请(专利权)人:中国电力科学研究院有限公司
类型:发明
国别省市:

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

1