美文网首页
3.14:全链路跟踪

3.14:全链路跟踪

作者: 今年花开正美 | 来源:发表于2020-06-27 23:37 被阅读0次

本文将从以下三个方面阐述全链路跟踪设计与实践

  • 为什么要做全链路跟踪

  • 怎么做全链路跟踪

  • 开源框架选型

为什么要做全链路跟踪

  • 场景介绍

在微服务架构下,经常出现以下问题:
1.某个服务出了故障,如何快速定位问题?
2.应用程序出了瓶颈,如何快速确定瓶颈在哪里?
3.后台服务响应延迟高,如何确认哪些服务导致的?
4.服务发布后,如何确认是否一切正常?

  • 解决方案

基于日志的分布式请求跟踪系统,对业务侵入低;同时将系统分散的日志聚合,进行海量日志分析,从而生成有价值的数据。

怎么做全链路跟踪

核心技术

  • 每次请求都生成一个全局唯一的ID(TraceId),通过它将不同系统的生成的日志串起来,重组成调用链。
  • 各业务系统只要引入jar包或者通过探针(Agent)就可以实现无侵入的接入。
  • 提供可视化的查询界面,快速的查询调用链路,以及多维度的调用分析。

架构设计

根据上述方案,我们先看下完整的设计图吧。

全链路跟踪.png

设计说明

1.埋点和日志生成:Java探针将本地日志通过本地socket方式发送给本机上的Trace日志收集节点Agent中。然后将多个探针的日志发送给日志收集服务集群。
2.Trace日志收集服务将数据进行简单的格式化处理后,分成三个工作流进行后续处理。

  • 原始数据全量保存到Elasticsearch,后续对数据进行实时的调用查询。
  • Spark对数据进行实时分析,形成QPS、平均耗时等实时统计。
  • Hadoop对日志进行离线分析,并将结果存储到Elasticsearch。

3.Dasboard页面展示,通过可视化的界面查询Redis和Elasticsearch中的数据。

ID设计

全链路跟踪-ID设计.png

开源框架选型

目前比较成熟的开源框架主要有Zipkin、PinPoint、Skywalking三种。下面就简单比较下各自的适用场景吧:

  • Zipkin:Dapper论文的典型实现,功能稍显单一,若只需要简单的链路跟踪功能可以选择使用。
  • PinPoint:韩国开源的一款功能强大、完善的APM工具,提供了可视化的链路调用拓扑图、日志查询、统计分析等一系列功能。缺点就是依赖HBase,安装运维成本较高,适合中大型公司。
  • Skywalking:国产的优秀APM工具,功能没有PinPoint强大,且使用Mysql存储,在大数据量下比较局限性,适合中小型公司。

相关文章

  • 3.14:全链路跟踪

    本文将从以下三个方面阐述全链路跟踪设计与实践 为什么要做全链路跟踪 怎么做全链路跟踪 开源框架选型 为什么要做全链...

  • 基于日志分析的金融级全链路跟踪监控系统设计

    设计动机 在Google发表了全链路跟踪文章Dapper后,各大厂开始了适合自己的全链路跟踪系统设计,较为出名的有...

  • 分布式链路追踪

    分布式链路追踪(Distributed Tracing),也叫 分布式链路跟踪,分布式跟踪,分布式追踪 等等。 本...

  • Dapper

    Dapper的要求: 1) 全链路跟踪; 2) 持续监控所有的调用; 3)低开销; 4)无侵入性; 如何实现t...

  • Zipkin Brave源码解读-Tracing(全链路跟踪埋点

    最近在研究全链路跟踪,因某些原因选用了 ZipKin 的 Brave 作为埋点工具,ZipKin不使用,本系列仅做...

  • Go微服务全链路跟踪详解

    在微服务架构中,调用链是漫长而复杂的,要了解其中的每个环节及其性能,你需要全链路跟踪。它的原理很简单,你可以在每个...

  • Go微服务全链路跟踪详解

    在微服务架构中,调用链是漫长而复杂的,要了解其中的每个环节及其性能,你需要全链路跟踪。 它的原理很简单,你可以在每...

  • SpringCloud之Sleuth全链路日志跟踪

    1 Sleuth链路跟踪 本篇文章所涉及到的demo练习 使用的 springcloud 2021.0.3+ sp...

  • skywalking搭建

    skywalking是分布式微服务请求链路跟踪的框架,可以实现无侵入的链路跟踪、统计、拓扑架构绘制等,本文介绍如何...

  • 全链路压测文档汇总

    一文带你了解携程第四代全链路测试系统 全链路压测方案梳理 全链路监控(一):方案概述与比较 微服务:全链路压测和容...

网友评论

      本文标题:3.14:全链路跟踪

      本文链接:https://www.haomeiwen.com/subject/pedbfktx.html