本发明涉及微服务调用链路监控的,尤其涉及一种微服务链路全监控方法、系统、电子设备及存储介质。
背景技术:
1、随着业务需求的多元化以及系统规模的不断扩大,单体架构的服务架构可扩展性越来越差,系统变得难以维护,而微服务通过服务功能拆分、模块功能聚合,使单体架构的服务拆分成多个微服务,提高了扩展性和可维护性,因此微服务架构在分布式服务领域有着越来越重要的位置。
2、微服务部署时,一个业务请求往往涉及多个节点的多个服务,随着业务的不断扩张,服务之间的调用会越来越复杂,对请求调用需要进行链路追踪,收集日志记录,对服务器的请求进行监控。常见的做法是需要在代码中进行埋点,通过设置过滤器方式等,或者于字节码注入的方式,记录业务日志,然后通过日志分析,获取业务请求的服务调用链路信息。但这样对业务代码的入侵度较高,日志记录也比较离散,对微服务链路的调用关系梳理需要通过搜索各服务日志进行,比较繁琐。另外,传统的微服务调用链路也追踪无法描述业务逻辑。
技术实现思路
1、本发明的目的在于提供一种微服务链路全监控方法、系统、电子设备及存储介质以解决现有技术无法追踪描述业务逻辑的问题。
2、为实现上述发明目的之一,本发明一实施例提供一种微服务链路全监控方法,所述方法包括,
3、响应于源微服务的调用操作,发送请求数据包至目标微服务的虚拟ip;
4、对所述请求数据包进行识别和处理,并发送至所述目标微服务虚拟ip对应的实际容器ip;
5、接收由所述目标微服务接收到所述请求数据包后生成的响应数据包,并返还至所述源微服务。
6、作为本发明一实施方式的进一步改进,所述方法还包括,构建基于sdn网络架构的微服务应用环境,包括,
7、所述微服务应用环境包括由同一sdn控制器管理的多个ovs虚拟交换机;
8、将微服务通过容器化方式部署在ovs虚拟交换机的应用服务器上,并将每个容器的网络接口接入ovs虚拟交换机的网桥;所述每个容器分别对应一个微服务;
9、在各ovs虚拟交换机之间建立隧道,不同ovs虚拟交换机下的容器通信通过所述隧道传输。
10、作为本发明一实施方式的进一步改进,所述方法还包括,所述微服务应用环境还包括接入同一网络的连通的管理平面网络和数据平面网络;
11、所述管理平面网络用于实现微服务的注册过程,所述数据平面网络用于实现微服务的调用过程。
12、作为本发明一实施方式的进一步改进,所述方法还包括,所述微服务的注册过程包括,
13、获取所述微服务的数据信息,包括注册应用名称、服务id、功能描述、接口列表和实际容器ip;
14、为所述微服务分配虚拟ip,并记录所述虚拟ip和所述实际容器ip的映射关系。
15、作为本发明一实施方式的进一步改进,所述方法还包括,所述微服务的调用过程包括,
16、当源微服务需调用目标微服务时,所述源微服务基于目标微服务的虚拟ip将请求数据包发送至ovs虚拟交换机,并通过所述ovs虚拟交换机上报至sdn控制器;
17、所述sdn控制器对接收到的所述请求数据包进行识别和处理,嵌入调用链关联标识,并基于所述调用链关联标识制定转发策略,通过所述ovs虚拟交换机转发至目标微服务的实际容器ip;
18、所述目标微服务接收到请求数据包后进行业务处理,生成带关联标识的响应数据包发送至ovs虚拟交换机,并通过所述ovs虚拟交换机上报至sdn控制器;
19、所述sdn控制器将接收到的所述响应数据包进行识别和处理并转发回所述源微服务。
20、作为本发明一实施方式的进一步改进,所述方法还包括,所述sdn控制器对接收到的所述请求数据包进行识别和处理,具体包括微服务请求感知、数据包调用链关联标识嵌入、请求转发数据集中存储、ip映射后转发策略制定及数据包下发;
21、所述微服务请求感知包括将请求或响应数据包上报控制器后,对请求数据包或响应数据包应用层内容进行解析,提取请求或响应的详细信息和行为特征;
22、所述数据包调用链关联标识嵌入包括在解析请求或响应数据包后,在请求或响应数据包中嵌入唯一标识,追踪请求和响应的调用链路;
23、所述请求转发数据集中存储包括将解析后的请求或响应数据包的关联信息、数据内容及微服务id集中存储;
24、所述ip映射后转发策略制定及数据包下发包括根据虚拟ip获取实际容器ip,并将嵌入关联标识后的请求或响应数据包转发回源微服务容器中。
25、为实现上述发明目的之一,本发明一实施例还提供一种微服务链路全监控系统,所述系统用于实现如上所述微服务链路全监控方法中的步骤。
26、作为本发明一实施方式的进一步改进,所述系统包括业务逻辑链路定义模块、微服务链路调用树生成模块、业务相关微服务调用链展示模块。
27、所述业务逻辑链路定义模块用于定义业务功能经过的微服务节点和调用关系;
28、所述微服务链路调用树生成模块用于根据存储的微服务请求响应数据,将请求的关联标识、请求数据、返回结果和微服务信息梳理生成微服务调用链路树;
29、所述业务相关微服务调用链展示模块用于结合业务逻辑链路定义模块和生成的微服务调用链路树,将调用链按业务场景分类展示,标记正常及异常信息,实现对微服务链路的监控可视化。
30、为实现上述发明目的之一,本发明一实施例还提供一种电子设备,包括存储器以及处理器,其特征在于,所述存储器中存储可在所述处理器上运行的计算机程序,所述处理器上执行程序时实现如上所述微服务链路全监控方法中的步骤。
31、为实现上述发明目的之一,本发明一实施例还提供一种存储介质,所述存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如上所述微服务链路全监控方法中的步骤。
32、与现有技术相比,本发明提供的一种微服务链路全监控方法、系统、电子设备及存储介质,通过分离管理和数据平面网络,实现精确识别和实时数据分析;通过采用虚拟ip映射和名称寻址,增强系统灵活性,优化资源配置,提高监控精度和系统性能,显著提升系统的稳定性和维护效率。
1.一种微服务链路全监控方法,其特征在于:包括,
2.根据权利要求1所述的微服务链路全监控方法,其特征在于:还包括构建基于sdn网络架构的微服务应用环境,包括,
3.根据权利要求2所述的微服务链路全监控方法,其特征在于:所述微服务应用环境还包括接入同一网络的连通的管理平面网络和数据平面网络;
4.根据权利要求3所述的微服务链路全监控方法,其特征在于:所述微服务的注册过程包括,
5.根据权利要求4所述的微服务链路全监控方法,其特征在于:所述微服务的调用过程包括,
6.根据权利要求5所述的微服务链路全监控方法,其特征在于:所述sdn控制器对接收到的所述请求数据包进行识别和处理,具体包括微服务请求感知、数据包调用链关联标识嵌入、请求转发数据集中存储、ip映射后转发策略制定及数据包下发;
7.一种微服务链路全监控系统,其特征在于:所述系统用于实现如权利要求1-6任意一项所述微服务链路全监控方法中的步骤。
8.根据权利要求7所述的微服务链路全监控系统,包括业务逻辑链路定义模块、微服务链路调用树生成模块、业务相关微服务调用链展示模块,其特征在于:
9.一种电子设备,包括存储器以及处理器,其特征在于:所述存储器中存储可在所述处理器上运行的计算机程序,所述处理器上执行程序时实现如权利要求1-6任意一项所述微服务链路全监控方法中的步骤。
10.一种存储介质,所述存储介质存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现如权利要求1-6任意一项所述微服务链路全监控方法中的步骤。