调用链监控

一、背景

  以前都是单体应用,都在一个系统内完成。而现在都是微服务,一个请求进来,需要调用多个服务才能完成。出了问题,我们很难定位到底在哪个环节出了问题。

二、作用

  1.快速定位问题。通过调用链监控系统,我们能很快定位到哪个服务出了问题。

  2.项目拓扑图。当服务越来越复杂时,我们都无法准确知道服务之间都依赖关系。通过调用链监控系统,我们能清晰的生成项目的网络拓扑图。

  3.优化系统。通过调用链监控系统,我们可以随时监控哪些请求慢了,在哪个环节慢了,系统的瓶颈等等,从而作出相应的优化。

三、原理

  我们需要了解调用链监控几个核心概念:

    trace:一次分布式调用的链路踪迹

    span:一个局部方法的调用踪迹

    annotation:附属在span上的日志信息

    sampling:采样率。

  我们看一次链路追踪,其中有几个参数需要注意一下:

    tid:一次链路请求的id,通过tid我们知道一次请求完整的调用路径。

    sid:每个局部方法的id

    pid:parent id,当前局部方法的父id。

四、常用调用链监控产品

  我们现在市场上常用的链路监控系统有zipkin,点评的CAT,skywalking等。

猜你喜欢

转载自www.cnblogs.com/ITyannic/p/12244323.html