y108.第六章 微服务、服务网格及Envoy实战 -- 可观测应用之分布式跟踪(十九)

13.可观测应用之分布式跟踪

13.1 分布式系统中的请求跟踪

  • 指标和日志信息,是全局化、扁平化的,它们提供的是观察系统的“广角镜头”,但对于一次复杂请求的完整过程,我们还需要一个“长焦镜头”

  • 复杂的分布式系统中,客户端的一次请求操作,可能需要经过系统中多个服务、多个中间件、多台机器的相互协作才能完成

    • 这一系列调用请求中,可能存在着多次串行及并行调用
    • 于是,如何确定客户端的一次操作背后调用了哪些服务、经过了哪些节点、每个模块的调用先后顺序是怎样的以及每个模块的性能问题如何俱变成了难题
    • 还有,一旦某个请求出现了调用失败,用户可获的信息仅有异常本身,异常发生的位置及相关细节就不得不通过分析本次请求相关的每个服务日志,过程复杂且低效

分布式跟踪其实是可观测性系统当中的3大支柱之一,它其实就是分布式系统中的请求跟踪机制,指标和日志信息是全局化/扁平化的,因为在我们的日志系统当中或者是指标系统当中一个一个点是离散的,每一个点彼此之间都是对等的,至少在日志格式中是对等的,它们提供的是观察系统的一个广角镜头,但是对一次复杂请求的完整过程我们还需要一个长焦镜头,正常情况下很有可能我们的系统是很复杂的调用链路,但是在我们的日志系统当中你会看到无非就是哪个节点上有了什么信息是展开形式是扁平化的,我们很难分析这些日志之间谁先谁后,谁是被调用的谁是调用者,你得自己靠脑海中对这个信息得过滤给它串起来这是很难受得,我们得指标信息也是如此,在指标级别定义的我们只能基于标签对节点做过滤,你更甭提对它对调用链路的过滤这可能性不存在,因而我

猜你喜欢

转载自blog.csdn.net/qq_25599925/article/details/125350381