分布式篇-F 分布式服务链路动态追踪
作者:田超凡
1 分布式服务链路动态追踪产生的背景
答:在分布式微服务系统中,随着业务的发展,系统的规模也越来越大,服务和服务之间的调用关系也越来越复杂。比如一次HTTP请求可能会在多个服务和服务之间进行多次组合调用,在这个过程中,当一个服务出现故障,比如因为网络延迟过高或请求错误导致最终请求失败,这种场景下,对分布式微服务系统请求调用链路进行监控就显得尤为重要了。
2 分布式服务链路动态追踪常用框架
答:
- Sleuth+Zipkin
- 阿里的鹰眼系统
- SkyWalking
3 Sleuth+Zipkin的组成部分和实现原理
答:Sleuth组成部分主要包括:traceId、spanId、Trace
traceId:发起方调用接口的时候会创建一个全局唯一的id traceId,作为全局跟踪id
spanId:每次RPC调用接口的时候都会创建一个新的spanId,用来存储当前RPC请求的信息
Trace:类似于树结构的Span集合,表示一个完整的调用链路。调用链路的唯一标识是traceId,通过traceId全局跟踪id、spanId请求跟踪id、parentId上一个的请求跟踪id,将收集到的span汇聚成一个tree,再提供一个request的整体流程。
Sleuth+Zipkin实现原理:
- 发起方调用接口的时候创建全局唯一的id traceId,并存放到请求中。
- Sleuth会在每次RPC调用接口的时候创建一个新的spanId,用来存放当前RPC请求的信息。
- Sleuth和Zipkin整合实现图形界面化管理接口的依赖信息。
4 SkyWalking的基本概念
答:SkyWalking是一个开放式的观测平台,可以对服务和基于云原生的基础设施等进行收集、分析、聚合和可视化数据。SkyWalking提供了一种简便的方式实现清晰地观测分布式系统,甚至可以实现横跨不同云的系统观测。SkyWalking更像是一种现代化的应用程序性能监控工具(Application Performance Monitor,即APM工具),专为基于容器的云原生和分布式系统而设计。
5 SkyWalking的组成部分和实现原理
答:SkyWalking主要有4部分组成:Agent、OpService、WebApp、DB文章来源:https://www.toymoban.com/news/detail-565059.html
实现原理:文章来源地址https://www.toymoban.com/news/detail-565059.html
- Agent和业务逻辑紧密关联在一起,负责收集监控日志
- OpService负责处理监控日志,通常以集群的形式存在,它的主要作用是:
- 接收Agent传递的监控日志,存储到数据库中,如mysql/ES
- 接收WebApp客户端发送的查询监控日志的请求,从数据库中查询监控日志,返回查询结果给WebApp客户端
- WebApp是一个SkyWalking客户端界面化工具,用来展示数据。
- 这里的DB指的是用来存储监控日志的数据库。
到了这里,关于云事业群CTO线技术晋升考核机试题-分布式专题-F 分布式服务链路动态追踪的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!