The invention discloses a method for constructing service dependency relationship in micro-service relationship. The specific steps include: Socket system call monitoring, Socket call interception, Socket data parsing, IP to service instance mapping, and dependency relationship graph construction. The method does not require application domain knowledge, nor does it need application program or application program through non-intrusive service dependency relationship construction method. By changing the source code of the platform, we can get a real service dependency topology in the micro-service environment.
【技术实现步骤摘要】
一种微服务环境中服务依赖关系构建方法
本专利技术涉及计算机
,更具体地,涉及一种微服务环境中服务依赖关系构建方法。
技术介绍
在新兴商业模式(如电子商务)和IT技术(例如DevOps和云计算)的驱动下,软件架构正在迅速从单一体系转变为微服务体系结构。利用微服务架构,应用程序可以根据业务功能将复杂的交互解耦成许多松耦合度的细粒度服务。通常这些微服务通过一些轻量级网络协议(如HTTP和RPC协议)进行连接。每个微服务都遵循单一职责原则,具有简单和独立的功能。微服务架构使软件系统具有新的特性,例如强大的可扩展性,适用于敏捷开发,快速交付等等。尽管如此,由于外部(例如,配置变化)和内部(例如软件缺陷)的损坏,微服务系统中的异常问题并不少见,这对企业收入带来重大影响。研究表明,亚马逊的每个请求的响应时间延迟100毫秒会导致销售额下降1%,而Google曾报告由于响应时间延迟500毫秒而导致流量下降20%。为了让微服务持续可靠地运行,有必要检测不良的性能问题并找出产生异常的根本原因。然而,由于以下挑战,在微服务环境中实现这一点是非常困难的:复杂的网络依赖性。通过微服务体系结构,应用程序可以分解为许多细节复杂的网络拓扑。另外,为了连接包装在容器中的不同微服务,总是采用诸如flannel之类的覆盖网络,这进一步增加了性能诊断的复杂性。持续集成和交付。微服务系统随着持续集成和交付技术而不断发展。这意味着异常检测和根本原因诊断程序应该适应这些变化以获得更好的结果。动态运行时环境。微服务系统总是运行在状态经常变化的容器环境中,高度动态的环境加剧了性能诊断的难度。大量的监控 ...
【技术保护点】
1.一种微服务关系中服务依赖关系构建方法,其特征在于,包括如下步骤:S1:Socket系统调用监控,所述Socket系统调用包括以下函数:创建套接字函数,套接字绑定函数,套接字监听函数,连接函数,获取接收请求函数;S2:Socket调用拦截,采用跟踪工具对Socket系统调用的函数进行拦截,并将拦截的结果保存为文件;S3:Socket数据解析,将步骤S2拦截保存的文件解析得到客户端IP和服务器IP之间原始的网络连接方向和依赖关系;S4:分别构建客户端IP和服务器IP到服务实例的映射,根据所获得的客户端IP和服务器IP,从微服务架构的基础设施中获取IP到服务名的映射关系,所述映射关系结合步骤S3中的客户端IP和服务器IP之间的原始网络依赖关系得到当前应用程序的网络依赖关系,当前应用程序的网络依赖关系表示为:(服务名称,服务实例)‑>(服务名称,服务实例);S5:构建服务依赖关系图, 根据步骤S4得到的应用程序的网络依赖关系构建服务依赖关系图。
【技术特征摘要】
1.一种微服务关系中服务依赖关系构建方法,其特征在于,包括如下步骤:S1:Socket系统调用监控,所述Socket系统调用包括以下函数:创建套接字函数,套接字绑定函数,套接字监听函数,连接函数,获取接收请求函数;S2:Socket调用拦截,采用跟踪工具对Socket系统调用的函数进行拦截,并将拦截的结果保存为文件;S3:Socket数据解析,将步骤S2拦截保存的文件解析得到客户端IP和服务器IP之间原始的网络连接方向和依赖关系;S4:分别构建客户端IP和服务器IP到服务实例的映射,根据所获得的客户端IP和服务器IP,从微服务架构的基础设施中获取IP到服务名的映射关系,所述映射关系结合步骤S3中的客户端IP和服务器IP之间的原始网络依赖关系得到当前应用程序的网络依赖关系,当前应用程序的网络依赖关系表示为:(服务名称,服务实例)->(服务名称,服务实例);S5:构建服务依赖关系图,根据步骤S4得到的应用程序的网络依赖关系构建服务依赖关系图。2.根据权利要求1所述的一种微服务关系中服务依赖关系构建方法,其特征在于,步骤S2中采用的跟踪工具为Strace跟踪器。3.根据...
【专利技术属性】
技术研发人员:陈鹏飞,林锦进,郑子彬,
申请(专利权)人:中山大学,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。