云事业群CTO线技术晋升考核机试题-分布式专题-F 分布式服务链路动态追踪

2023年(Q3财年)技术部门CTO线技术人员晋升考核机试题

分布式篇-F 分布式服务链路动态追踪

*参考答案*

出题人:湖北TL田超凡
答案制定:湖北TL田超凡

*****试卷启用前绝密****

1 分布式服务链路动态追踪产生的背景

答:在分布式微服务系统中,随着业务的发展,系统的规模也越来越大,服务和服务之间的调用关系也越来越复杂。比如一次HTTP请求可能会在多个服务和服务之间进行多次组合调用,在这个过程中,当一个服务出现故障,比如因为网络延迟过高或请求错误导致最终请求失败,这种场景下,对分布式微服务系统请求调用链路进行监控就显得尤为重要了。

2 分布式服务链路动态追踪常用框架

答:

  1. Sleuth+Zipkin
  2. 阿里的鹰眼系统
  3. 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实现原理:

  1. 发起方调用接口的时候创建全局唯一的id traceId,并存放到请求中。
  2. Sleuth会在每次RPC调用接口的时候创建一个新的spanId,用来存放当前RPC请求的信息。
  3. Sleuth和Zipkin整合实现图形界面化管理接口的依赖信息。

4 SkyWalking的基本概念

答:SkyWalking是一个开放式的观测平台,可以对服务和基于云原生的基础设施等进行收集、分析、聚合和可视化数据。SkyWalking提供了一种简便的方式实现清晰地观测分布式系统,甚至可以实现横跨不同云的系统观测。SkyWalking更像是一种现代化的应用程序性能监控工具(Application Performance Monitor,即APM工具),专为基于容器的云原生和分布式系统而设计。

5 SkyWalking的组成部分和实现原理

答:SkyWalking主要有4部分组成:Agent、OpService、WebApp、DB

实现原理:

  1. Agent和业务逻辑紧密关联在一起,负责收集监控日志
  2. OpService负责处理监控日志,通常以集群的形式存在,它的主要作用是:
  1. 接收Agent传递的监控日志,存储到数据库中,如mysql/ES
  2. 接收WebApp客户端发送的查询监控日志的请求,从数据库中查询监控日志,返回查询结果给WebApp客户端
  3. WebApp是一个SkyWalking客户端界面化工具,用来展示数据。
  4. 这里的DB指的是用来存储监控日志的数据库。

你可能感兴趣的:(分布式,J2EE,Java架构I,分布式,java-ee)