基于探针方式的微服务实现方法、系统及存储介质技术方案

技术编号:33280359 阅读:22 留言:0更新日期:2022-04-30 23:40
本发明专利技术公开了一种基于探针方式的微服务实现方法、系统及存储介质,该微服务实现方法包括:根据用户预先在JAVA探针中配置的待拦截接口,对微服务中的相应接口进行拦截;根据用户预先在JAVA探针中配置的各个选项,动态修改所述类文件,或者,增加新的类文件;将修改后的类文件及新的类文件发送至代理服务器进行处理,以使所述代理服务器通过执行所接收的类文件来实现微服务的相应功能。实施本发明专利技术的技术方案,代码低侵入,资源占用低,接入成本低。接入成本低。接入成本低。

【技术实现步骤摘要】
基于探针方式的微服务实现方法、系统及存储介质


[0001]本专利技术涉及计算机信息处理
,尤其涉及一种基于探针方式的微服务实现方法、系统及存储介质。

技术介绍

[0002]微服务是一种新兴的软件技术架构,将原来的单个应用拆分为若干个微服务,每个微服务负责一个细分的业务领域,单独发布、单独启动、单独调配。与此对应的,需要建立相应的注册中心、配置中心、日志记录、链路跟踪等。
[0003]目前基于微服务的实现方式主要有SpringCloud体系和基于K8S的代理机制方式。前者需要对代码进行大量改造,并且需要搭建单独的注册中心、配置中心等额外服务,并且这部分额外服务也需要考虑搭建集群,工作量大而且复杂;基于K8S代理机制方式的微服务虽然克服了前者的相应缺点,同时也引入了便于统一部署和监控的优点,但是K8S需要建立一套管理平台及相应的虚拟网络,入门门槛比较高、硬件要求也高,而且如果是已经基于SpringCloud改造的代码,也不便于直接接入K8S。另外这两种实现方式都有若干种技术架构分支,一旦选择某个分支后,再想切换都需要一定的改造成本。

技术实现思路

[0004]本专利技术要解决的技术问题在于,针对现有技术存在的上述缺陷,提供一种基于探针方式的微服务实现方法、系统及存储介质。
[0005]本专利技术构造一种基于探针方式的微服务实现方法,在获取到使用JAVA编译器对微服务的JAVA源代码进行编译后的类文件之后,进行以下步骤:
[0006]步骤S10.根据用户预先在JAVA探针中配置的待拦截接口,对微服务中的相应接口进行拦截;
[0007]步骤S20.根据用户预先在JAVA探针中配置的各个选项,动态修改所述类文件,或者,增加新的类文件;
[0008]步骤S30.将修改后的类文件及新的类文件发送至代理服务器进行处理,以使所述代理服务器通过执行所接收的类文件来实现微服务的相应功能。
[0009]优选地,在所述步骤S20与所述步骤S30之间,还包括:
[0010]判断修改后的类文件及新的类文件是否符合预设的配置规则,若是,则执行步骤S30。
[0011]优选地,在步骤S30中,代理服务器进行处理,包括:
[0012]代理服务器进行入参处理;出参处理;负载均衡;配置管理。
[0013]优选地,在所述步骤S10中,对微服务中的相应接口进行拦截,包括:对微服务中的注册接口进行拦截;
[0014]所述步骤S20包括:
[0015]根据用户预先在JAVA探针中配置的各个选项,通过动态修改所述类文件来修改目
标域名;
[0016]所述步骤S30包括:
[0017]将修改后的类文件发送至代理服务器进行处理,以使所述代理服务器通过执行所接收的类文件来实现注册中心的服务流转控制。
[0018]优选地,所述步骤S10中,对微服务中的相应接口进行拦截,包括:对微服务中的配置接口进行拦截;
[0019]所述步骤S20包括:
[0020]根据用户预先在JAVA探针中配置的各个选项,通过动态修改所述类文件来对相应配置进行存储或读取;
[0021]所述步骤S30包括:
[0022]将修改后的类文件发送至代理服务器进行处理,以使所述代理服务器通过执行所接收的类文件来实现微服务的配置中心功能。
[0023]优选地,所述步骤S10中,对微服务中的相应接口进行拦截,包括:对微服务中的日志接口进行拦截;
[0024]所述步骤S20包括:
[0025]根据用户预先在JAVA探针中配置的各个选项,通过增加新的类文件来记录所述微服务调用到的日志;
[0026]所述步骤S30包括:
[0027]将修改后的类文件及新的类文件发送至代理服务器进行处理,以使所述代理服务器通过执行所接收的类文件来实现微服务的日志功能。
[0028]优选地,所述步骤S10中,对微服务中的相应接口进行拦截,包括:对微服务中的链路接口进行拦截;
[0029]所述步骤S20包括:
[0030]根据用户预先在JAVA探针中配置的各个选项,通过动态修改所述类文件来跟踪微服务调用的全链路;
[0031]所述步骤S30包括:
[0032]将修改后的类文件发送至代理服务器进行处理,以使所述代理服务器通过执行所接收的类文件来实现微服务的链路跟踪功能。
[0033]优选地,所述步骤S10中,对微服务中的相应接口进行拦截,包括:对微服务中的网关接口进行拦截;
[0034]所述步骤S20包括:
[0035]根据用户预先在JAVA探针中配置的各个选项,通过动态修改所述类文件来进行流量控制、镜像服务;
[0036]所述步骤S30包括:
[0037]将修改后的类文件发送至代理服务器进行处理,以使所述代理服务器通过执行所接收的类文件来实现微服务的网关控制功能。
[0038]本专利技术还构造一种存储介质,存储有计算机程序,所述计算机程序在被处理器执行时实现以上所述的基于探针方式的微服务实现方法。
[0039]本专利技术还构造一种基于探针方式的微服务实现系统,包括处理器及存储有计算机
程序的存储器,所述处理器在执行所述计算机程序时实现实现以上所述的基于探针方式的微服务实现方法。
[0040]实施本专利技术的技术方案,由于通过使用JAVA探针方式来实现的微服务的一些附加功能,所以对微服务的原有代码低侵入,而且,资源占用低。另外,由于是以接口配置方式实现微服务的功能扩展,所以,接入成本低。
附图说明
[0041]下面将结合附图及实施例对本专利技术作进一步说明,附图中:
[0042]图1是本专利技术微服务实现系统的逻辑结构图;
[0043]图2是本专利技术基于探针方式的微服务实现方法实施例一的流程图。
具体实施方式
[0044]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0045]首先说明的是,Java探针是在JDK1.5引入的,是一种可以动态修改JAVA字节码(类文件)的技术。JAVA类编译之后形成字节码被JVM执行,JVM在执行这些字节码之前获取这些字节码信息,并且对这些字节码进行修改,来完成一些额外的功能。
[0046]本专利技术提供一种基于JAVA探针方式的微服务实现方式,如图1所示,通过JAVA探针,能够在加载JAVA类文件之前根据请求进行拦截并对类文件进行修改或增加新的类文件,并将所有请求拦截发送至代理服务器处理,在代理服务器中可以执行、定义各种规则,包括微服务常规的注册中心、配置中心、链路跟踪等功能,也可以定期执行修改入参、修改出参、服务镜像等各种功能,并通过开关开启或关闭相应的规则或者微服务。...

【技术保护点】

【技术特征摘要】
1.一种基于探针方式的微服务实现方法,其特征在于,在获取到使用JAVA编译器对微服务的JAVA源代码进行编译后的类文件之后,进行以下步骤:步骤S10.根据用户预先在JAVA探针中配置的待拦截接口,对微服务中的相应接口进行拦截;步骤S20.根据用户预先在JAVA探针中配置的各个选项,动态修改所述类文件,或者,增加新的类文件;步骤S30.将修改后的类文件及新的类文件发送至代理服务器进行处理,以使所述代理服务器通过执行所接收的类文件来实现微服务的相应功能。2.根据权利要求1所述的基于探针方式的微服务实现方法,其特征在于,在所述步骤S20与所述步骤S30之间,还包括:判断修改后的类文件及新的类文件是否符合预设的配置规则,若是,则执行步骤S30。3.根据权利要求1所述的基于探针方式的微服务实现方法,其特征在于,在步骤S30中,代理服务器进行处理,包括:代理服务器进行入参处理;出参处理;负载均衡;配置管理。4.根据权利要求1所述的基于探针方式的微服务实现方法,其特征在于,在所述步骤S10中,对微服务中的相应接口进行拦截,包括:对微服务中的注册接口进行拦截;所述步骤S20包括:根据用户预先在JAVA探针中配置的各个选项,通过动态修改所述类文件来修改目标域名;所述步骤S30包括:将修改后的类文件发送至代理服务器进行处理,以使所述代理服务器通过执行所接收的类文件来实现注册中心的服务流转控制。5.根据权利要求1所述的基于探针方式的微服务实现方法,其特征在于,所述步骤S10中,对微服务中的相应接口进行拦截,包括:对微服务中的配置接口进行拦截;所述步骤S20包括:根据用户预先在JAVA探针中配置的各个选项,通过动态修改所述类文件来对相应配置进行存储或读取;所述步骤S30包括:将修改后的类文件发送至代理服务器进行处理,以使所述代理服务器通过执行所接收的类文件来实现微服务的配置中心功能。6...

【专利技术属性】
技术研发人员:许刚龙榜饶学贵李魁姚振楠
申请(专利权)人:深圳市法本信息技术股份有限公司
类型:发明
国别省市:

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

1