一种云服务拓扑图实时更新方法、装置、设备及介质制造方法及图纸

技术编号:38742442 阅读:17 留言:0更新日期:2023-09-08 23:26
本申请公开了一种云服务拓扑图实时更新方法、装置、设备及介质,涉及云计算、微服务技术领域,包括基于异步消息处理机制利用服务探针获取实时数据信息,利用eBPF接口对实时数据信息进行过滤筛选,得到网络数据包;对网络数据包进行网络数据归并,得到调用内容,对调用内容进行实时解析,得到解析后消息,确定出消息类别;基于解析后消息和消息类别分别对服务注册表和服务调用表进行相应的操作,得到云服务拓扑图更新信息,基于云服务拓扑图更新信息生成新的云服务拓扑图。本申请能动态选择跟踪、监听节点内核,发现微服务调用启动和停止,获取资源并发使用具体情况,为进一步资源隔离和资源优化分配提供依据,提高云服务拓扑图实时更新效率。时更新效率。时更新效率。

【技术实现步骤摘要】
一种云服务拓扑图实时更新方法、装置、设备及介质


[0001]本专利技术涉及云计算、微服务
,特别涉及一种云服务拓扑图实时更新方法、装置、设备及介质。

技术介绍

[0002]微服务是一种云原生架构方法,其中单个应用程序由许多松散耦合且可独立部署的较小组件或服务组成。微服务将单一应用程序划分成一组小的服务,服务之间相互协调、互相配合,为用户提供最终价值。每个服务运行在其独立的进程中,服务和服务之间采用轻量级的通信机制相互沟通。Kubernetes(K8S,Google开源的一个容器编排引擎)平台作为容器的管理平台出现,具有调度、自动恢复、水平伸缩等功能,能够方便、快速地管理容器集群。这些新技术使实时感知微服务使用状态的拓扑发现技术遇到了挑战。由于传统的服务拓扑发现使通过服务器探测,获得服务的依赖和使用情况。但是,在微服务架构中,服务的数量和实例化的规模可能会变化,导致传统的方法无法满足微服务的需求。首先,过去传统的应用基础设施需要手动升级软件包,逐个服务器调整配置文件,将新代码部署到现有服务器上,服务拓扑发现,可以转换为对服务器对应进程的拓扑发现(调用系统proc(定义子程序的伪指令)文件目录结果)。当前,微服务可以跨服务器部署在多个容器中,仅仅采集服务器的进程状态,无法获得服务相互调用的全部拓扑连接信息。其次,在通过proc采集服务器的进程调用情况后,并使用Kubernetes平台的API

Server的配置缓存,通过聚类和过滤计算,可以获得微服务调用信息。但是这种方法效率比较低,在服务快速变化时开销指数级增长;另外,一些服务的细粒度信息诸如网络抖动、发送瓶颈等也很难获得。然后,微服务之间具有复杂的依赖关系。服务数量通常可以是数百个或数千个。因此,服务之间的依赖关系比传统的分布式系统复杂得多。eBPF(Extended Berkeley Packet Filter,一种可以在Linux内核中运行用户编写的程序,而不需要修改内核代码或加载内核模块的技术)可以从用户态切换到内核态拿取服务器的进程调用信息,比用户态获取进程调用信息更高效,而且可以获得细粒度的信息。并且eBPF程序对于微服务透明,不需要在微服务中嵌入代码。相较于传统的方法,基于eBPF的方法从内核拿到细粒度数据,并且在网络层面上实现更高效的运行。eBPF由内核事件触发,当服务注册和服务进行迁移的时候,eBPF无法实时感知节点服务的具体变化,导致服务拓扑图中无法实时的展示服务节点和服务的详细变化情况。
[0003]由上可见,如何实现获取Kubernetes的实时数据信息,动态选择跟踪、监听节点内核,发现微服务的调用启动和停止,获取资源并发使用的具体情况,为进一步资源隔离和资源优化分配提供依据,提高云服务拓扑图实时更新的效率是本领域有待解决的问题。

技术实现思路

[0004]有鉴于此,本专利技术的目的在于提供一种云服务拓扑图实时更新方法、装置、设备及介质,能够实现获取Kubernetes的实时数据信息,动态选择跟踪、监听节点内核,发现微服务的调用启动和停止,获取资源并发使用的具体情况,为进一步资源隔离和资源优化分配
提供依据,提高云服务拓扑图实时更新的效率。其具体方案如下:
[0005]第一方面,本申请公开了一种云服务拓扑图实时更新方法,包括:
[0006]基于异步消息处理机制并利用本地的服务探针获取实时数据信息,利用本地的eBPF接口对所述实时数据信息进行数据过滤筛选,以得到网络数据包;
[0007]对所述网络数据包进行网络数据归并,以得到调用内容,对所述调用内容进行实时解析,以得到解析后消息,确定出所述解析后消息的消息类别;所述消息类别包括服务注册、服务注销、服务调用;
[0008]基于所述解析后消息和所述消息类别分别对本地的服务注册表和服务调用表进行相应的操作,以得到云服务拓扑图更新信息,基于所述云服务拓扑图更新信息生成新的云服务拓扑图。
[0009]可选的,所述基于异步消息处理机制并利用本地的服务探针获取实时数据信息,利用本地的eBPF接口对所述实时数据信息进行数据过滤筛选,以得到网络数据包,包括:
[0010]基于异步消息处理机制并利用本地的Kubernetes Nodes中的服务探针从本地的Kubernetes Master模块中的API

server上获取实时数据信息;
[0011]利用所述Kubernetes Nodes中的eBPF接口获取所述服务探针中的实时数据信息,然后对所述实时数据信息进行与Kubernetes组件相关的动态内核网络数据过滤与筛选操作,以得到网络数据包。
[0012]可选的,所述对所述网络数据包进行网络数据归并,以得到调用内容,包括:
[0013]利用本地的Kubernetes Nodes中的网络数据包采集器对所述网络数据包进行网络数据归并,得到消息内容,并将所述消息内容发送至本地的处理模块;
[0014]利用所述处理模块对所述消息内容进行二次网络数据归并,以得到调用内容。
[0015]可选的,所述利用本地的Kubernetes Nodes中的网络数据包采集器对所述网络数据包进行网络数据归并,得到消息内容,并将所述消息内容发送至本地的处理模块,包括:
[0016]利用本地的Kubernetes Nodes中的网络数据包采集器从所述eBPF接口中获取所述网络数据包,然后对所述网络数据包中具有相同源IP地址、源端口、目的IP地址、目的端口的网络数据进行归并,以得到消息内容;
[0017]利用预设的守护进程将所述消息内容和所述实时数据信息发送至本地的处理模块。
[0018]可选的,所述利用所述处理模块对所述消息内容进行二次网络数据归并,以得到调用内容,包括:
[0019]利用所述处理模块中的归并模块从所述消息内容中确定出源节点调用消息和目的节点调用消息,对所述源节点调用消息、所述目的节点调用消息以及所述实时数据信息进行二次网络数据归并,以得到调用内容。
[0020]可选的,所述基于所述解析后消息和所述消息类别分别对本地的服务注册表和服务调用表进行相应的操作,包括:
[0021]若所述消息类别为服务注册,则基于所述解析后消息进行服务注册表记录增加操作;
[0022]若所述消息类别为服务注销,则基于所述解析后消息进行服务注册调用表记录删除操作;
[0023]若所述消息类别为服务调用,则对所述服务探针中与所述解析后消息相对应的节点信息进行解析,以得到服务调用端口信息,根据所述服务调用端口信息确定出服务调用类型,若所述服务调用类型为启动,则基于所述解析后消息进行服务调用表记录增加操作,若所述服务调用类型为停止,则基于所述解析后消息进行服务调用表记录删除操作。
[0024]可选的,所述对所述调用内容进行实时解析,包括:
[0025]将所述调用内容发送并保存至本地的处理模块中的数据库;
[0026]利用本地的处理模块中的拓扑模块中的消本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种云服务拓扑图实时更新方法,其特征在于,包括:基于异步消息处理机制并利用本地的服务探针获取实时数据信息,利用本地的eBPF接口对所述实时数据信息进行数据过滤筛选,以得到网络数据包;对所述网络数据包进行网络数据归并,以得到调用内容,对所述调用内容进行实时解析,以得到解析后消息,确定出所述解析后消息的消息类别;所述消息类别包括服务注册、服务注销、服务调用;基于所述解析后消息和所述消息类别分别对本地的服务注册表和服务调用表进行相应的操作,以得到云服务拓扑图更新信息,基于所述云服务拓扑图更新信息生成新的云服务拓扑图。2.根据权利要求1所述的云服务拓扑图实时更新方法,其特征在于,所述基于异步消息处理机制并利用本地的服务探针获取实时数据信息,利用本地的eBPF接口对所述实时数据信息进行数据过滤筛选,以得到网络数据包,包括:基于异步消息处理机制并利用本地的Kubernetes Nodes中的服务探针从本地的Kubernetes Master模块中的API

server上获取实时数据信息;利用所述Kubernetes Nodes中的eBPF接口获取所述服务探针中的实时数据信息,然后对所述实时数据信息进行与Kubernetes组件相关的动态内核网络数据过滤与筛选操作,以得到网络数据包。3.根据权利要求2所述的云服务拓扑图实时更新方法,其特征在于,所述对所述网络数据包进行网络数据归并,以得到调用内容,包括:利用本地的Kubernetes Nodes中的网络数据包采集器对所述网络数据包进行网络数据归并,得到消息内容,并将所述消息内容发送至本地的处理模块;利用所述处理模块对所述消息内容进行二次网络数据归并,以得到调用内容。4.根据权利要求3所述的云服务拓扑图实时更新方法,其特征在于,所述利用本地的Kubernetes Nodes中的网络数据包采集器对所述网络数据包进行网络数据归并,得到消息内容,并将所述消息内容发送至本地的处理模块,包括:利用本地的Kubernetes Nodes中的网络数据包采集器从所述eBPF接口中获取所述网络数据包,然后对所述网络数据包中具有相同源IP地址、源端口、目的IP地址、目的端口的网络数据进行归并,以得到消息内容;利用预设的守护进程将所述消息内容和所述实时数据信息发送至本地的处理模块。5.根据权利要求4所述的云服务拓扑图实时更新方法,其特征在于,所述利用所述处理模块对...

【专利技术属性】
技术研发人员:唐凡李佟雷音韩春静汪洋
申请(专利权)人:爱尔眼科医院集团股份有限公司长沙爱尔眼科医院
类型:发明
国别省市:

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

1